問題タブ [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.

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

asp.net - ユーザーの役割を変更した後に Context.User を変更する方法

私は、新しいユーザーの作成と審査のプロセスに取り組んでいます。ユーザーが登録すると、トークン付きのクエリ文字列を含むリンクが電子メールに送信され、電子メール アドレスを確認できます。ユーザーがリンクをクリックすると、情報を検証するページにリダイレクトされ、ロールがGuestからMemberに変更されます。

プロセスフロー

電子メール > verifyEmail.aspx > dashboard.aspx

ユーザーが既に Web アプリにログインしている場合、電子メールのリンクをクリックすると、それに応じてロールが変更されます。ただし、dashboard.aspx にリダイレクトされると、User.IsInRole("Member") は false になります。ログアウトしてから再度ログインすると、User.IsInRole("Member") は true になります。だから私の質問は、サインアウトを強制せずにユーザーのアイデンティティとユーザーのコンテキストを更新するにはどうすればよいですか? ロールのクッキーと関係があると思いますか?

コード

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

c# - ICollection をフィルタリングする方法ASP.NET MVC 5 の ID のロールで

3 つのロールを追加しました。

  1. 管理者
  2. スタッフ
  3. 登録済み

ここで、すべてのユーザーのリストを表示したいと思いRegisteredます。私は次のようなことをしようとしているので、IDシステムを取得していないのではないかと心配しています:

ネタバレ注意: 動作しないコード

これは明らかにうまくいかないので、答えを探しに行きました。残念ながら、私は何も得られませんでした。私が見つけた最も近いIUserRoleStoreものは、次の実装があると述べた Scott Allen による投稿でした。

  • ユーザーを役割に追加する
  • ユーザーのすべてのロールを取得する
  • ユーザーが特定のロールに属していることを確認します
  • ロールからユーザーを削除する

しかし、それでも、それを取得していません:/

この Questionのメソッドも試しましたがRoles.Select(r => r.Name).Contains("client")、 Name プロパティが見つからないため機能しませんか?

この ApplicationUser オブジェクトのリストを取得するにはどうすればよいですか?

アップデート


ショーンの答えは、もう少し深く掘り下げるのに役立ちました。これが最善の方法かどうかはわかりませんが、私のニーズには合っています。

これが非効率的である場合は、その理由と改善方法を教えてください。

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

c# - ASP.NET MVC5 ID ロールを既存のイントラネット プロジェクトに追加する

MVC5 でロール管理を処理するためのアイデンティティの方法に関する多くのブログ投稿を読みましたが、それらのほとんどは登録システムなどを統合しているようです。ロールを簡単に使用できるかどうかを知りたいです。

Active Directory からユーザーを取得し、カスタム User モデル クラスに格納する既存の MVC5 プロジェクトがあります。ID ロール管理をそのようなプロジェクトと統合することは可能ですか?

私は ASP.Net MVC にかなり慣れていませんが、これまでのところ、いくつかの頭痛の種になっています。IdentityUser を拡張するモデル クラスを使用する必要がありますか? その場合、引き続き Active Directory ユーザーを使用して、GUID、電子メール、名前などをその新しいクラスにマップし、ロールを使用してアプリケーション ビューへのアクセスを制限できますか?

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

asp.net - User.IsInRole を更新する方法はありますか?

ユーザーの役割をフォーム認証に追加しましたが、必要に応じて役割を変更できるようにしたいと考えています。

User.IsInRole がブール値を返し、指定された文字列/ロールで集計された True または False であるかどうかを確認することを理解しています。のように、User.IsInRole("管理者")。

しかし、必要に応じて役割を変更できるようにしたい..

方法はありますか?

User.SetRole か何か?