問題タブ [sqlroleprovider]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ほとんどの人は.NETのSqlMembershipProvider、SqlRoleProvider、およびSqlProfileProviderを使用しますか?
メンバーシップ機能を備えたサイトを開発する場合、ほとんどの人は.NETのSqlMembershipProvider、SqlRoleProvider、およびSqlProfileProviderを使用しますか?
それとも、多くの人が独自のプロバイダーを作成しているのでしょうか、それとも完全に独自のメンバーシップシステムを作成しているのでしょうか。
自分でロールするSQLプロバイダーの制限は何ですか?
SQLプロバイダーを拡張して追加機能を提供するのは簡単ですか?
参考までに、
Scott Guのブログでは、MicrosoftがSqlMembershipProviderのソースコードを提供しているため、最初から始めるのではなく、カスタマイズすることができます。参考までに。
iis-7 - ASP.NET 3.5 IIS7 ロール セキュリティの実装
ストックMSフォーム認証とSqlRolesProviderを使用して、IIS7(Server '08)で実行されているASP.NET 3.5アプリケーションに取り組んでいます。(私はaspnet_regsqlツールを使用してテーブルを生成しました)。
SysAdmins、AppAdmins、Users の 3 つの役割があります。すべてのユーザーはユーザーに属し、ユーザーは SysAdmins、AppAdmins、またはその両方に属することができます。
SysAdmins および AppAdmins に含まれていないユーザーへのアクセスをブロックする管理ディレクトリを取得できないようです。ログインしているすべてのユーザーを許可するか、誰も許可しません。
現在の構成の関連ビットは次のとおりです。
この構成は現在、すべての人をブロックしていると思います。誰もブロックしない同様の構成を行いました。
問題は、system.web セクションと system.webserver セクションの両方を使用することにあると思われます。この構成を正しく機能させるための助けをいただければ幸いです。
アップデート
<location> 要素から <system.webServer> セクションを削除すると、そのフォルダー内の .aspx ページが正しく返されます。残念ながら、そのフォルダー内の .js ファイルはまだすべてのユーザーに対してブロックされています...理想的には、特権のない目から .js ファイルもロックしたいと思います。だから私はまだ助けを求めています。
.net - ProviderException: InvalidCastException
一部のクライアントは定期的に無効なキャスト例外を取得していますが、バリエーションはInvalidCastException
/ProviderException
ですが、どちらもメソッド呼び出しから生成されます。System.Web.Security.SqlRoleProvider.GetRolesForUser(String username)
他のバリエーションは次のとおりです。
例外の種類:
InvalidCastException
例外メッセージ: 型のオブジェクトを型にキャストできませSystem.Int32
んSystem.String
。
次のようなアプリケーション イベント ログを確認しました。
誰かがこの問題に遭遇しましたか?もしそうなら、修正は何ですか?
ありがとう
JS
asp.net - 高度な .NET メンバーシップ/ロール プロバイダー
次の機能を備えた RoleProvider が必要です。
タスクへの役割
の動的割り当て システム内で動的に割り当てられたタスクに基づいた IPrincipal の認証/承認
現在ログインしているユーザーやその他の一般的な使用統計を示すレポートにアクセスする権限があります。
私は自分自身をロールバックする必要があると確信していますが、OSS や MS から何かを見逃さないようにしたかったのです。
私は ASP.NET MVC も使用しているため、基本的な計画は、次のようなカスタム属性を作成し、[Authorize(Task=Tasks.DeleteClient)]
承認が必要なメソッドの上に配置することです。ロールに対して承認するのではなく、ユーザーが DB で構成した設定に基づいて、ロールに対してタスクを承認します。
考え?
asp.net-membership - ASP.NETユニバーサルプロバイダーは、デフォルトのSQLプロバイダーができないことを何を可能にしますか?
ASP.NETユニバーサルプロバイダーのNuGetパッケージのreadmeファイルには、この見積もりが含まれています。
ASP.NETからバージョン4までに出荷されたSqlMembershipProvider、SqlRoleProvider、SqlProfileProviderクラスは、MicrosoftSQLServerとMicrosoftSQLServerExpressのみをサポートします。これらは、MicrosoftSQLAzureやMicrosoftSQLServerCompactなどの新しい製品をサポートしていません。
ただし、Sql Azure http://support.microsoft.com/kb/2006191のカスタムaspnet_regsqlスクリプトを実行し 、web.configでSQL Azureデータベースを指定すると、ASP.NETメンバーシップは正しく機能しているようです。
ユニバーサルプロバイダーが有効にしている、SQL Azureで正確に機能しないものを誰かに教えてもらえますか?
asp.net - ActiveDirectoryに関連付けられたセキュリティロールをユーザーに割り当てる方法
アプリケーションのページごとに(Windows認証を使用して)異なるアクセスロールを使用して、SqlRoleProviderを使用してユーザーのアクセスを制限しています。したがって、ユーザーを役割に追加するには、次のようにします。
次に、会社のADグループをアプリケーションに統合して、各ADグループにもこれらのアクセスロールが割り当てられ、特定のADグループの一部のユーザーが自動的にロールを「継承」するようにする必要があります。
私の質問は次のとおりです。
aspnet_Users、aspnet_RolesなどのSQLテーブルを引き続き使用できますか?
ADグループを統合するにはどうすればよいですか?また、ADグループに役割を割り当てるにはどうすればよいですか?(これまでのところ、ユーザーがDirectory Entryを使用して参加しているすべてのADグループを確認できます)。
ユーザーがWindows認証を使用してアプリケーションにログインするときに、ユーザーが特定のADグループの一部であることを確認した後、ADグループごとにユーザーに役割を「付与」または「割り当てる」にはどうすればよいですか。
これらの質問にご協力いただければ幸いです。
asp.net - IIS8 Express の SqlRoleProvider
私の Web アプリケーション (WCF サービス) はSqlRoleProvider
、Visual Studio Development Serverで正常に動作する を使用しています。IIS8 Expressに切り替えると、次のようにスローされNullReferenceException
ます。
メソッドのドキュメントに、IsUserInRole
この例外のヒントが見つかりませんでした。Visual Studio 開発サーバーに戻すと、機能します。この例外の原因は何ですか?どうすれば適切に修正できますか? プロジェクトのターゲット フレームワークは.NET Framework 4です。
構成された接続文字列は次のとおりです。
そして、これはroleManager/providers
ノードです:
asp.net - ロール プロバイダーは要求ごとにキャッシュしますか?
私の MVC アプリケーションは、個々のページ要求中に複数の場所でユーザーの役割を利用します。私の質問は、デフォルトの SqlRoleProvider がページ要求の存続期間中、現在のユーザーのロールをキャッシュするかどうかです。
たとえば、コントローラー メソッドの属性でロールを使用します。
とカスタムコード
ロール プロバイダーがロールをキャッシュしない場合、既定のロール プロバイダーから継承するカスタム ロール プロバイダーを記述し、メソッドをオーバーライドしてロールを一度取得し、要求期間中キャッシュするのが最善の解決策ですか? これは、Authorize 属性と自分のコードの両方がキャッシュされたロールを利用する方法で実行できますか?
(ご参考までに、私は cacheRolesInCookie web.config オプションを使用して Cookie にロールをキャッシュしたくありません)。
ご提案いただきありがとうございます。
[ジョーの回答からトリガーされた詳細を含めるように編集]
System.Web.Mvc.AuthorizeAttribute を逆コンパイルすると、AuthorizeCore メソッドは、確認する各ロールに対して次のメソッドを呼び出します。
次に、System.Web.Security.RolePrincipal (上記の「ユーザー」) をピアリングすると、以下の両方の方法で、ユーザーのロールのキャッシュされたコピーが実際に使用されます (空の場合はキャッシュにデータが入力されます)。
キャッシュは User のフィールドとして保存されるため、その有効期間はリクエストの間です。
メソッドは、以下を使用して役割を見つけます。
そのため、アプリケーション用に選択したロール プロバイダー (既定またはカスタム) が使用されます。
c# - SqlRoleProvider.GetRolesForUser の混乱: 'オブジェクト参照がオブジェクトのインスタンスに設定されていません'
これはほんの少し前に私に起こりました。私のコードではRoles
、指定されたユーザーが割り当てられていることを取得する必要があります。
これが私のコードの内容です:
これで問題ありませんが、このビットに到達すると:
Object reference not set to an instance of an object
システムは、見捨てられた例外をスローします。正直なところ、数分間私を夢中にさせました。しかし、その小さなコードをこれに変更すると (これは明示的な呼び出しですよね?):
コードは機能します。ユーザーの を取得して、好きなようにRoles
使用できます。
知りたいのですが、なぜGetRolesForUser
instatiatedを使用してもうまくSqlRoleProvider
いかないのですか? これは、私が作業する次のコードでも発生する可能性があるためRemoveUsersFromRoles
ですAddUsersToRoles
。また、プログラムはどのようなインスタンスを探していますか? メソッドが機能するためにインスタンス化していないものは何ですか?
c# - 新しい役割をサイトマップに追加
私のプログラムでは、管理者が新しいロールをデータベースに追加するオプションがあります。もちろん、これは次のCreateRole
メソッドを利用しSystem.Web.Security.Roles
ます。
今、私は疑問に思っています、SiteMap
実行時に my を変更して、新しい役割を特定の のリストに追加できるようにすることはできますroles
かsiteMapNode
? 例えば:
という新しいロールをどこに挿入するかを指定するとsampleRole
、siteMapNode は次のようになります。
私のコードビハインドはどのように見えるべきですか?