問題タブ [asp.net-identity-2]
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.
asp.net-mvc - Asp.Net Identity で ApplicationUser を拡張する
したがって、次の列を追加して ApplicationUser クラスを拡張しようとしています..
- ユーザー ID の作成
- 日付を作成します
- ユーザー ID の更新
- 更新日
ApplicationCode クラスに追加したコードを次に示します。
私が最終的にやろうとしているのCreateUserId
は、指し示す外部キー制約をApplicationUser.Id
持ち (必須)、UpdateUserId
指し示す外部キー制約を持つApplicationUser.Id
(オプション)ことです。
ただし、次のエラーが表示されます。
ApplicationUser_UpdateUser_Target: : 関係 'ApplicationUser_UpdateUser' のロール 'ApplicationUser_UpdateUser_Target' では多重度が無効です。依存ロール プロパティはキー プロパティではないため、依存ロールの多重度の上限は '*' である必要があります。
誰かがこれを設定する方法を教えてもらえますか?
編集..
私はそれを理解したと思います
asp.net-mvc - 施設ごとに異なるロールを持つユーザーの実装方法
この状況を説明するのは難しいので、タイトルをお許しください。
複数の施設を持つビジネスを想像してみてください。各ユーザーの役割は施設に直接関連付けられています。したがって、各ユーザーは、「役割」の使用によってモデル化された、各施設に対して異なる権限を持っています。たとえば、Bob は施設 X の管理者であるため、施設 X のユーザーを管理できます。ただし、Bob は施設 Y のエンドユーザーにすぎず、施設 Y に関する静的な情報しか表示できません。
主な質問が 2 つあります。
- Asp.Net Identity 2.0 でこれをモデル化できた人はいますか? 「FacilityId」列を User_Role テーブルに追加するだけでよいようですが、これで問題が発生しました。
- これは似ているだけですか、それとも「マルチテナント」アプリケーションとまったく同じ考え方ですか?
asp.net-mvc - プログラムでユーザーを作成した後、ASP.NET Identity 2 サイトにログインできない
メンバーシップシステムにASP.NET Identity 2を使用する新しいMVC 5カミソリ、EF 6 Web アプリケーションがあります。Web ページの [登録] リンクを使用して手動でユーザーを作成すると、うまくいきます。ユーザーを作成し、指定されたパスワードでログインしてからログアウトできます。
Identity 2 の移行でデータベース初期化子を使用する方法がわかりません。Identity 1 および他のアルファ版とベータ版には、人々を混乱させるだけの無数の例があります。まだわからないので、一時的な MVC ビューを使用してメンバーシップをインストールします。
ビューが適切に実行されていることがわかります。ユーザーとロール、およびデータベース内のユーザーとロールの関連付けが表示されます。また、ユーザーのレコードにハッシュ化されたパスワードがあることもわかります。
しかし、それを行った後、Create メソッドで使用したプレーン テキストのパスワードを使用して ID システム (ローカル) にログインできません。なぜですか? ところで、try/catch を省略し、ユーザーとロールの作成をチェックしました (エラーなしで実行されます)。
その後、メール アドレスと Test_2013 のパスワードを使用してアカウントにログインしようとすると、ユーザー名/パスワードが正しくないことを示すエラーが表示されます。
c# - Guid-keyed IdentityUser の ID を生成しています
デフォルトの MVC5 テンプレートを、string
/nvarchar
キーを使用するユーザーではなく、 Guid
s/ uniqueidentifier
s を使用するように変更しました。私の解決策は、ここで説明したものと似ていました: http://blogs.msdn.com/b/webdev/archive/2013/12/20/annancing-preview-of-microsoft-aspnet-identity-2-0-0- alpha1.aspx
必要に応じて型パラメーターを変更しましたが、最初のユーザーは 00000000-0000-0000-0000-000000000000 の ID で生成されました。2 番目のユーザーの主キーが最初のユーザーの主キーと競合しているため、2 番目のユーザーを作成できませんでした。
次に、該当する型パラメーターを から に変更するGuid
とint
、ユーザー ID が 1 から始まり、インクリメントされて機能しました。
では、どうすればそれを動作させることができGuid
ますか?
どこかに接続して、新しく作成された各ユーザーに新しい Guid を割り当てるだけです。これを行うのに最適な場所はどこですか? おそらく ApplicationUser (implements IdentityUser<Guid, ...>) コンストラクターで考えましたが、確信が持てませんでした。
c# - ASP.NET ID ベアラー トークン。それは永続的ですか?
http://www.asp.net/web-api/overview/security/individual-accounts-in-web-apiチュートリアルに従って、ASP.NET WebApi ベアラー トークン認証を実装します。
Azure Web サイトで停止/再起動/デプロイした後、発行されたベアラー トークンを使用してメソッドにアクセスする[Authorize]
と、引き続きそれらにアクセスできます。さらに、2 つの異なるデバイス (同じ ID に対して異なるトークン) でアクセスできますが、引き続きアクセスできます。
トークン識別メカニズムの奥深くはわかりませんが、公開されたベアラートークンはサーバーメモリにもデータベースにも保持されていないようです。
私の質問は以下のように要約できます...
- ベアラー トークンには永続的に私の ID が含まれており、(上記のチュートリアルに基づいて) 再承認するまで承認されますか?
- ベアラー トークンを作成するために混合してハッシュする情報は何ですか? 自分のレルム、ID、タイムスタンプだけ? またはサーバーキー(以前のASP.NETメンバーシップはレジストリでサーバーキーを使用していることを知っています)?
- WebRoles として複数のサーバーにデプロイするとどうなりますか? 彼らはまだ公開されたトークンを認めていますか?
- IDごとに識別可能なトークンの最大数はありますか?
c# - UserManager.CreateAsync は Id を生成しません
MVC 5 アプリケーション (以前は MVC 3 with SimpleMembership
) を ASP.NET Identity 2.0 にアップグレードしたところ、既存のユーザーを操作できますが、次のコマンドを実行して新しいユーザーを作成すると:
私は以下を取得します:
System.Data.Entity.Core.UpdateException: エントリの更新中にエラーが発生しました。詳細については、内部例外を参照してください。---> System.Data.SqlClient.SqlException: 値 NULL を列 'Id'、テーブル 'MyDB.dbo.AspNetUsers' に挿入できません。列はヌルを許可しません。INSERT は失敗します。ステートメントは終了されました。
なぜこれが起こっているのか誰にも分かりますか?
これは私のUserManager
です:
int
ユーザーとロールにキーを使用していますstring
が、以前はデフォルトのキーがあり、そこId
にも入力されておらず、同様のエラーが発生しました。
c# - ASP.NET Identity 2.0.1 を使用してロールの変更をユーザーに強制的に伝達するにはどうすればよいですか?
私はこれを読みましたが、ロールの変更が最終的にどのようにユーザーの Cookie に反映されるかを説明していますが、ユーザーのロールを即座に変更する方法をまだ理解していません。
ユーザーのロールを管理者として変更する場合、ユーザーをサインアウトする必要がありますか? もしそうなら—どのように?使用する場合AuthenticationManager.SignOut();
は、役割を変更したいユーザーではなく、自分自身 (管理者) をサインオフします。
現在await UserManager.UpdateSecurityStampAsync(user.Id);
、新しいセキュリティ スタンプを生成するために使用していますが、機能しません。別のユーザーとしてログインしているときに別のブラウザーでページを更新しても、彼のクレーム (セキュリティ スタンプを含む) は変わりません。
asp.net-mvc - コントローラーコンストラクターでの HttpContext の使用
次のようなコントローラーのコンストラクターでプロパティを設定しようとしていました。
しかし、ここで説明したように:
https://stackoverflow.com/a/3432733/1204249
HttpContext はコンストラクターでは使用できません。
では、コントローラーのすべてのアクションでアクセスできるように、プロパティを設定するにはどうすればよいでしょうか?
asp.net-identity - ASP.NET ID 2 - ISecureDataFormat<> の注入
Unityを使用しているだけで、ここで説明されている同じ問題に答えがありません。
ISecureDataFormat<>
最新の VS2013 (update 2) SPA/Web Api テンプレートに登録しようとしています。
私はもう試した
それは「機能します」が、実際にはそうではありません。なぜなら、そのツリーの次の依存関係、IDataSerializer ...、そして次の IDataProtector について不平を言うからです。