ログインしていないユーザーがログインしていないユーザーに対して特に許可されていないコントローラーにアクセスしようとすると、ユーザーgetはコントローラがログオンを処理します。どのように私は最良の方法でそれを達成することができますか?どういうわけか、Global.asax.csでそれをするのはいいと思っていましたか?MVC3はログインしていないユーザーがコントローラにアクセスすることを許可しません。
1
A
答えて
4
[Authorize]属性を使用してください。私はあなたが使用しているものと思われるフォーム認証でうまく動作します。
1
ASP.NET MVC3アプリケーションをセキュリティで保護する場合、ユーザーが特定のURLにアクセスするためにはログインする必要があります。これは、コントローラーまたはアクションでAuthorizeフィルター[Authorize()]を使用して行います。
http://build.mt.gov/2011/10/27/aspnet-mvc3-and-the-authorize-attribute.aspx
カスタマイズ承認属性:
http://www.diaryofaninja.com/blog/2011/07/24/writing-your-own-custom-aspnet-mvc-authorize-attributes
0
はベースコントローラから、すべてのコントローラを継承します。ベースコントローラは、クラス宣言の上にアノテーションを持つ必要があります。 [Authorize]などの.NETアノテーションを使用することもできますし、独自の注釈を実装することもできます。これは簡単です。
など。
[Secure()]
public class BaseController : Controller
{
// Action methods
}
次に、あなたのベースコントローラから派生しますコントローラを作成します。
[Secure(false)]
public class NonSecureController: BaseController
{
// Action methods
}
あなたは、ユーザーがログインする必要があるかどうかを示すフラグを渡すことができたに簡単な注釈を実装する必要がありますかどうか
カスタム属性(アノテーション)を開発するときに、そのスコープをクラスまたはメソッドのいずれかに指定できます。つまり、アクセス許可ロジックをより詳細に制御できます。
関連する問題
- 1. ログインしていないユーザーのアクセス許可をシミュレートします
- 2. Facebook PHP SDKがユーザにログインすることを許可していません
- 3. ASP.NET MVC3 - ユーザーのアクセス許可とアクセス
- 4. 非アクティブなユーザーがLaravelにログインすることを許可しない
- 5. ログインしたユーザーのみプライベートページにアクセスすることを許可します
- 6. リモートデスクトップユーザーはログインできませんが、ユーザーには正しいアクセス許可があります
- 7. MVC3フォームでPOSTに失敗しました 'パスにアクセスするのが許可されていません'
- 8. 匿名ユーザーがSonarにアクセスすることを許可しない
- 9. Laravel - ユーザーが他のユーザーデータにアクセスすることを許可しない
- 10. コントローラ/ create/idはデータを許可していません - Laravel
- 11. ApacheがKohanaへのアクセスを許可していません
- 12. ユーザがprofile.phpにアクセスすることを許可していないのに、彼がprofile.phpにアクセスできるようにしていませんか?username =
- 13. ドメイン名がカールを介してPHPファイルにアクセスするのを許可すること、許可すること、および許可しないこと
- 14. Androidの実行時のアクセス許可 - ユーザーがアクセス許可を許可し、それをonRequestPermissionsResultで受信しない
- 15. Spring Securityは許可されていないユーザーがログインするのを防ぎません。
- 16. FB.getLoginStatusはユーザーがFacebookにログインしていないと起動しません
- 17. は、ユーザー名に基づいてユーザーを認証しますが、shiro.iniのユーザー役割は許可しません
- 18. ユーザーがクイズを2回取ることを許可しない
- 19. MVC3コントローラのスタッキング許可
- 20. wp_insert_postは、ログインしていないユーザのタクソノミカテゴリを設定することを許可しています - ワードプレス
- 21. ckeditorがモバイルにペーストすることを許可していません
- 22. Oracleがsysに付与することを許可していません。*
- 23. .htaccessは、ユーザーがindex.phpを持たないフォルダファイルを表示することを許可しません。
- 24. Google ReCaptchaがパスしないと、ユーザーのログインを許可しない方法はありますか?
- 25. Google oauth2 signUpは、ユーザーに基本的なアクセス許可を要求しません。
- 26. iOSとAndroidでは、ユーザーがセッションを閉じることを許可していませんか?
- 27. 他のユーザーのフォルダに入ることを許可しない
- 28. これは、ユーザーがアプリケーションに位置情報にアクセスすることを許可していない可能性があります。
- 29. IAM:CloudFormation:GetTemplateSummaryがユーザーによって許可されていません
- 30. Rails pundit gem、ログインしていないユーザーへの表示を許可する
私はこの解決策を検討しました。 (ログインしていないユーザーを少し違ったやり方で処理する独自の属性を作ったのですが)最も簡単です。 –