問題タブ [asp.net-roles]
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# - 登録時にユーザーをロールに追加する
新しいユーザーを登録するために、asp.netアプリケーションに組み込まれている登録モジュールを使用しています。登録時にユーザーの役割を設定しようとしていますが、何らかの理由でバックエンドコードのテキストボックスコントロールにアクセスして、選択した役割に新しいユーザーを追加できません。このコードでテキストボックスを見つけようとしています。また、nullを返します。これは、コントロールが見つからないことを意味します。
また、レジスタモジュールのhtmlマークアップは次のとおりです。
私が間違っていることは何ですか?ありがとう、ラツィオ
asp.net - ASP.NETメンバーシップ/ロール-ユーザーを複数のアプリケーション/ロールにリンクする方法は?
私は、大きなWebサイトをより小さくより具体的なサイトに分割するプロジェクトに取り組んでいます。これらのサイトへのアクセスを必要な権限を持つユーザーのみに制限できるようにする必要があり、可能な限り既存のメンバーシップ/ロールデータモデルを利用したいと考えています。
したがって、理想的には、潜在的に複数のアプリケーション(aspnet_applicationsテーブルで定義されている)とアプリケーション固有の役割(aspnet_roles)を1人のユーザーに割り当てたいと思います。ただし、aspnet_usersおよびaspnet_membershipレコードは特定のapplicationIDを保持しているため、aspnetメンバーシップモデルではこれが許可されていないようです。
1人のユーザーを複数のアプリケーション/ロールに割り当てるにはどうすればよいでしょうか。
asp.net-mvc - Asp.net 4 MVC3 疎結合の役割とアクション
プロジェクトでは、mvc3 asp.net アプリケーションを作成しています。私が実装したい機能の 1 つは、疎結合の役割 - アクション属性です。基本的に、管理者ユーザーはロールを作成し、それらをアクションにリンクできる必要があります。
ロール自体はデータベースに格納されています。
次のアプローチの行の何かが機能するかどうか疑問に思っています:
あなたの意見は何ですか?
ありがとう
*UPDATE** こんにちは、私は最近、db コンテキストを使用するときに、上記の設計でいくつかの可能性のある欠落を発見しました。カスタム属性の寿命はコントローラの寿命よりも長いか等しいため、属性をインスタンス化するときに新しいリポジトリを呼び出すと、リポジトリの内部状態が原因で不一致やセキュリティ リークが発生する可能性があります (たとえば dbContext を使用する場合)。 )。
EG データベースが更新され、新しいロールの新しいアクションが実行されますが、リポジトリは更新されません...
このコンテキストでは、次のようになります。
お役に立てれば
asp.net - ASP.Netメンバーシップ:リストボックスにロールを一覧表示する
カスタムユーザー更新ページをまとめて、ユーザーの電子メール、パスワード、および役割をすべて1つのページで更新できるようにしようとしています。私は役割に固執しています。役割を正常にリストしましたが、リストボックスでユーザーに割り当てられた役割を選択したいと思います。
この場合、各ユーザーには1つの役割しかありません。
Roles.GetRolesForUser("userName");
運が悪かったので遊んでみました。
リストボックスのコードは次のとおりです。
リストボックスのデータバインディングは次のとおりです。
これを機能させる最も簡単な方法は何ですか?
asp.net-mvc-3 - ASP.NET MVC 3: インターネット アプリケーション内のユーザーとロールを管理する
MVC 3 インターネット アプリケーションのユーザーとロールを管理 (作成/削除/編集) したい場合、サーバーの inetmgr に移動し、そこで .NET ロール/.NET ユーザーを変更する必要があります。
これらのユーザーとロールを MVC 3 インターネット アプリケーション自体から (サーバー自体の inetmgr に移動することなく) 管理することは可能ですか?
どの変更を行う必要がありますか (AccountController を行うためだと思います)?
前もって感謝します
asp.net-mvc - WebリクエストごとのEFDbContext+カスタムRoleProvider=WebリクエストごとのRoleProviderまたはシングルトン?
インターフェイスにラップされたEFを使用してDbContext
、Webリクエストごとに依存性を注入し、リクエスト全体が同じコンテキストを処理するようにします。また、認証サービスをカスタマイズRoleProvider
するためにbyインターフェースを使用するカスタムもあります。DbContext
これまで、サービスロケーターパターンを使用してDbContext
、カスタムRoleProvider
の引数なしコンストラクターでインスタンスを解決してきました。は単調であるため、これによりいくつかの小さな問題が発生しました。そのため、無期限RoleProvider
に保持される可能性がDbContext
ありますが、他の要求では、の間にそれを破棄する必要がありApplication_EndRequest
ます。
ウィンザーとは異なるiocコンテナーを使用していますが、これに基づくソリューションがあります。DIを使用して、RoleProvider
httpリクエストごとにカスタムインスタンスを作成できます。
私の質問は、私がすべきですか?
オープンにDbContext
ぶら下がっているのRoleProvider
は無駄に思えます。一方、私はすべてのMVCAuthorizeAttribute
がヒットすることを知っているのでRoleProvider
(null以外のプロパティがある場合、ほとんどの場合そうです)、すでに待機Roles
していると便利だと思います。DbContext
別の方法は、 Webリクエストごとではないものに別DbContext
のものを注入することです。RoleProvider
このようにDbContext
して、Webリクエストに対してのみ存在するは、シングルトニーに影響を与えることなく、最後に破棄できRoleProvider
ます。
どちらのアプローチが優れていますか、そしてその理由は何ですか?
コメント後に更新
スティーブン、これは本質的に私がしたことです。唯一の違いは、に依存しないことSystem.Web.Mvc.DependencyResolver
です。代わりに、私は基本的に自分のプロジェクトにまったく同じものを持っていますが、名前が異なります。
これらのクラスはプロジェクトのコアAPIの一部であり、MVCとは異なるプロジェクトにあります。System.Web.Mvc
このように、他のプロジェクト(およびドメインプロジェクト)は、そのプロジェクトに対してコンパイルするために依存関係をとる必要はありませんDependencyResolver
。
そのフレームワークを考えると、UnityをSimpleInjectorと交換することはこれまでのところ簡単です。多目的シングルトンRoleProviderセットアップは次のようになります。
Web.config:
IoCコンテナ:
CUDに関しては、私の実装されているメソッドは1つだけCustomRoleProvider
です。
これはMVC AuthorizeAttribute
(およびIPrincipal.IsInRole
)で使用される唯一のメソッドであり、他のすべてのメソッドから、私は単に
プロバイダーにはCUDopsの役割がないため、トランザクションについては心配していません。
asp.net - FluentSecurityはAsp.Netメンバーシッププロバイダーに取って代わりますか、それともそれを補完/連携することになっていますか?
Asp.Net MVC4サイトで作業していて、Redisがサポートするメンバーシップを作成したいと思いました。ユーザー権限を動的にする必要があるため(ユーザーは管理ダッシュボードで新しい役割を作成できます)、このSOの質問で説明されている方法でFluentSecurity(fluentsecurity.net)を使用することを検討していましたASP.NETMVC3の役割とアクセス許可の管理->実行時のアクセス許可の割り当て。
それで、私の質問は次のとおりです。FluentSecurityはAsp.Netメンバーシップシステム(またはメンバーシッププロバイダーパターンに基づくカスタムシステム)を置き換えるのですか、それともそれを拡張するためのものですか?
c# - プログラムでユーザーをasp.netメンバーシップとロールにログインしますか?
Asp.Netのメンバーシップおよびロール機能を使用しているAsp.Net4.0Webアプリケーションに取り組んでいます。
アプリケーションには、ログインページにアクセスできる3つの役割と、アクセスできない1つの役割があります。
それが機能することになっている方法は次のとおりです。
バックエンドユーザー(3つの特権ロールの1つ)がユーザーを作成します。コードでは、これはユーザーの登録ページを使用するのではなく、プログラムで行われます。ユーザーが作成されると、非特権ロールに追加されます。これは、わかりやすくするために、Visitorロールと呼ばれます。
次に、バックエンドユーザーは、https://www.example.com?link =cc82ae24-df47-4dbf-9440-1a6923945cf2の形式で新しいユーザーのリンクを作成します。
リンクにアクセスすると、アプリケーションはクエリ文字列に関連付けられているユーザーを特定し、ユーザー名とパスワード(適切にハッシュ化およびソルト化されている)を取得して、ユーザーをログインさせます。
これは私が元に戻されるところです。これまでのところ、ユーザーの作成は問題なく機能しており、クエリ文字列の値に基づくデータベースクエリがその役割を果たし、関連する情報を返しています。実際のログインを除いて、すべてが順調に流れているようです。プログラムでユーザーをログインさせる明確な方法はないようですが、ユーザーに自分自身をログインさせるというリグマロールを実行する必要がありますが、これは避けるように明示的に言われています。
これが私のコードです。「pers」オブジェクトは、リンクのデフォルトページに到達したときにデータベースから入力されるクラスです。
これで、ユーザー名とパスワードの値をデータベーステーブル自体と照合しましたが、すべて正しいです。aspnetテーブルに保存されているパスワードがソルトおよびハッシュされていることを理解しているので、クリアテキストを保持するために作成した一時テーブルの値を確認しています。それはそうです。さらに、上記のコードでは、FormsAuthentication.SetAuthCookieメソッドがユーザー名とパスワードを要求しています。この場合、ユーザー名は電子メールアドレスです。この情報は、デバッグ中に検査した場合にも正しいものです。
私たちが送信しているリンクは、ほとんど1回限りのリンクです。その特定のユーザーに関連する変更が行われるたびに、リンクパラメータの値が変更され、古いリンクは完全に役に立たなくなります。リダイレクト先のページには、その特定のユーザーに直接関連し、他のユーザーには関連しないドキュメントが保持されます。
ただし、「ビジター」には複数のリンクが送信され、さまざまなドキュメントやバージョンのドキュメントが時間の経過とともに追加および変更される可能性があるため、Asp.Netメンバーシップ、プロファイル、およびロールフレームワークのメリットが必要です。
誰かがより良い方法を考えることができますか?私はこれまでこことここで関連するエントリのほとんどを見てきましたが、それらはすべてやや不完全に見えます。
編集
ここで受け入れられた回答から収集した情報を使用して、これを少なくとも部分的に解決したようです
基本的に、問題は、使用するハッシュアルゴリズムを指定する必要があるweb.configメンバーシップセクションでした。現時点では、デフォルトがある場合はそれが何であるかわかりませんが、追加します
web.configに、少なくとも上記の行が追加された後に作成されたユーザーにログインすることを許可しました。次のステップは、他のユーザーをログインさせることができない理由を理解することです。
ただし、Joeが提案したように、まだThreadAbortExceptionが発生しています。これは、現在、解決に忙しく取り組んでいます。
asp.net-mvc - 役割に基づいてリンクを非表示
私はasp.mvcが初めてです。従業員データを維持するためのポータルを開発しようとしています。私のシステムでは、「マネージャー」のみが従業員を作成する権限を持っています。マネージャーがログインしたときにリンクを有効にし、従業員がログインしたときにリンクを無効にするにはどうすればよいですか。ありがとう
私の見解