問題タブ [roleprovider]

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.

0 投票する
3 に答える
1717 参照

asp.net - RoleProvider GetRolesForUser() の拡張

GetRolesForUser()メソッドはRoleProvider、ユーザーのログイン名を受け取り、そのユーザーのロールのリストを返します。しかし、私のアプリケーションではこれでは十分ではありません。ユーザーの役割を取得するには、さらにいくつかの情報が必要です。

この追加情報をメソッドに取り込むにはどうすればよいですか?

で持っていますが、 では利用できないSessionことがわかりました。SessionRoleProvider

私が念頭に置いていたのは、この追加情報を を拡張するクラスにMembershipUser入れることでしたRoleProviderCustomMembershipUserしかし、 を作成して の一部にする方法がわかりませんMembershipProvider。これは可能ですか?

簡単な方法はCookie を使用することですが、私はそれを避けようとしています。

0 投票する
1 に答える
468 参照

asp.net-mvc - データベースを変更したときに、カスタムロールプロバイダーがロールを更新しないのはなぜですか?

ASP.NET MVCを使用して小さなCMSシステムを構築しており、CastleWindsorを使用して実装されたファクトリによってインスタンス化されたuserRepositoryを使用するカスタムロールプロバイダーがあります。

管理者権限を持つユーザーは、バックエンド管理を使用して、データベースに保存されているユーザーの役割を変更できます。

ただし、ロールを変更したばかりのユーザーにログオンするたびに(現時点ではテストユーザーを使用しています)、ロールは更新されません。ログアウトして再度ログインしようとしましたが、結果はありませんでした。使用した役割は同じままです。また、ブラウザのキャッシュとCookieをクリアしようとしましたが、結果はありませんでした。

データベース内のデータが正しく更新されます。

ログインしたユーザーのロールを出力しようとしたので、カスタムロールプロバイダーでデータが更新されたかどうかを確認できましたが、ロールプロバイダーのデータは同じように見えます。したがって、ロールプロバイダーはリクエストごとにデータベースからデータを取得していないようです。

面白いことに、役割を変更してWebサイトを再公開すると、変更はそのままになります。毎回私のウェブサイトを再公開するオプションではなく、管理者がユーザーの役割を変更します。それはあまり動的ではありません。

これが発生する理由と、それを修正する方法についてのアイデアはありますか?

0 投票する
2 に答える
1460 参照

asp.net - ASP.NETMVCカスタムメンバーシップガイド

PHPからASP.NETに移行しようとしています。私はPHPで約10年、C#で4年の経験があります。しかし、ASP.NETの認証とメンバーシップシステムに問題があります。そのため、カスタムデータベースセットアップ用のメンバーシッププロバイダーを最初から作成する方法についてのガイドを見つけるのに多くの時間を費やしてきましたが、仕事に取り掛かることができるものが見つかりません。

では、カスタムメンバーシッププロバイダーを作成して実装するための優れたガイドを知っている人がいますか?

0 投票する
0 に答える
826 参照

asp.net-mvc-2 - ローカリゼーションを使用したASP.NETMVC2認証フォーム

私には2つのレベルの認証があります。最初に、ユーザーがnt / passwordを入力し、LDAPによって検証されます。その後、ユーザーがそのページにアクセスできることを確認するカスタムロールプロバイダーがあります。

そうは言っても、私のweb.configには次のようなものがあります。

ここで、ログインフォームで言語ボタンを使用しようとすると、ユーザーがまだLDAP認証されていないため、使用できないアクションが呼び出されます。私の質問は:

[承認]属性を使用したロールチェックのように、特定のアクションのメンバーシップチェックを回避できますか?

私は使ってみました:

そして、これは機能しません。アクションChangeCultureが呼び出されることはありません。

この答え:

ASP.NETMVCフォームの認証と認証されていないコントローラーのアクション

役割のためにそれを行う方法を示しています、メンバーシップ+役割のためのアイデアはありますか?

ありがとう。

0 投票する
3 に答える
3410 参照

asp.net - cacheRolesInCookie="true"を尊重しないASP.NETカスタムRoleProvider

カスタムロールプロバイダーを実装し、web.configファイルで次のように構成しました。

カスタムロールプロバイダーのGetRolesForUser関数をオーバーライドし、それにステップインしました。これは問題なく機能します。テスト対象のユーザーに60のロールをロードします。ただし、User.IsInRoleを呼び出すすべてのリクエストでGetRolesForUserが呼び出されることに気付きました。私が書いた他のアプリでは、一度だけ呼び出してから、結果をCookieにキャッシュします。何らかの理由で、このアプリではキャッシュが機能していません。理由について何かアイデアはありますか?

0 投票する
1 に答える
216 参照

asp.net - ASP.NET Web アプリケーションでの組織単位とビジネス ロールの結合

企業向けの実際のエンタープライズ Web アプリケーションでは、ユーザーの単位と役割によってデータへのアクセスを常に制限する必要があります。

ある国に多くのショッピング ストアを持つ企業があるとします。
そのため、会社には本社があり、すべての支店のすべての請求書と統計にアクセスできます。国内の各地域は、それぞれの支店の地域販売戦略を管理および計画しています。その後、地域のユーザーは、その支店によって作成されたすべての請求書も見ることができます。各支店は、請求書、顧客を作成し、そのデータのみを表示できます。

2 つの主なアクセス制御定義があることがわかります。

1- 役割 (これは何年も前に考えられ、実装されていました!): RoleProvider を使用して簡単に実装し、UI レベル (web.config および sitemap.config) でアクセス制御を制御できます。

2- データを更新/表示するためのユーザー アクセスを拒否/許可するためのユニットとそのロールとの関係。

ユーザーのユニットとロールを取得するために ASP.NET にカスタム プリンシパルを実装しましたが、従来のソリューションが必要だと思います...

0 投票する
1 に答える
125 参照

asp.net-mvc - ユーザーを特定のビューに拒否しますか?

私はmvc2プロジェクトを持っており、カスタムロールプロバイダーを作成しています属性[Authorize(Roles = "Admin")]を使用して、承認されたユーザーがユーザーのログインを常に拒否するいくつかのアクションを実行できないようにしていますビューを変更してユーザーをリダイレクトしたい私が彼にこの行為を許可されていないことを伝えていることを確認する

0 投票する
2 に答える
167 参照

asp.net-membership - メンバーシップとロール プロバイダーをオーバーライドする必要がありますか?

私は Web アプリに取り組んでいますが、要件のために、接続文字列を Web またはアプリの構成に保存したくありません。

これまでのところ、これを達成する唯一の方法を見つけました-メンバーシップとロールプロバイダーをオーバーライドすることです。

また、すべての認証が明らかにメンバーシップ プロバイダーによって処理されているのに、なぜロール プロバイダーもオーバーライドする必要があるのか​​、完全には理解できません。

ありがとうございました

0 投票する
2 に答える
92 参照

asp.net-membership - ASP.NET メンバーシップにおけるユーザー間の関連付け

アプリケーションでユーザー間の関連付けを作成したいと考えています。例えば、多数のレジデント(Role:Resident)を持つプログラム ディレクター(Role:PD)がいて、同様に各 PD に APD(Role: Assistant Program Director)がいます。

各 PD に、彼に属する居住者のみを表示したい、つまり、特定の PD で居住者をフィルタリングしたい。(GetAllUsers() と GetUsersInRole() メソッドの組み合わせを使用して) Resident ロールでユーザーをフィルター処理できますが、Membership で 2 つのロール タイプを関連付けることができないため、プログラム ディレクターで Residents をフィルター処理できないようです。テーブル。

この種の機能を持たせるにはどうすればよいですか? これを処理するには、ロール プロバイダーを拡張する必要がありますか?

0 投票する
1 に答える
267 参照

membership - この RoleProvider の問題が発生するのはなぜですか?

現在、単純な ASP .Net アプリケーションを 2 つ持っています。両方のアプリケーションは、メンバーシップ、ロール、およびプロバイダー用の同じ aspnetdb メンバーシップ データベースと、同じ暗号化キーと復号化キーを共有します。また、IIS には個別の Web サイトと個別のアプリケーション プールがあります。

私が抱えている問題は、両方のアプリケーションが異なるアプリケーション名のロール プロバイダーを持っているにもかかわらず、2 番目のアプリケーションの起動後に 2 番目のアプリケーションからロール プロバイダーを登録して使用していることです。

どちらのアプリケーションも、既定のページに次のコード ブロックがあります。

アプリケーション 1 の web.config には、次の roleprovider ブロックがあります。

アプリケーション 2 には、web.config に次のようなロール プロバイダー ステートメントがあります。

私が抱えている問題は、サンプルアプリケーション1を表示すると、

現在のロール プロバイダーの詳細: AspNetSqlRoleProviderWebApp1、サンプル Web アプリケーション 2

サンプル アプリケーション 2 を表示すると、

現在のロール プロバイダーの詳細: AspNetSqlRoleProviderWebApp2、サンプル Web アプリケーション 2

これらは完全に別の Web アプリケーションであるため、2 番目のアプリケーションの「アプリケーション名」が最初のアプリケーションに表示されるのはなぜですか?

私が見ることができる唯一の共通点は、アプリケーション間でユーザーを共有するために、データベースが同じ aspnetdb データベースと、アプリケーション名 '/' の同じメンバーシップ プロバイダーのセットアップを共有することです。