5

既存の ASP.Net webapp を MVC / Entity Framework に変換していますが、ログイン機能に問題があります。

ログイン ページが機能しています。つまり、正しい情報を入力しないと、スタート ページにリダイレクトされません。ただし、ユーザーが手動で URL を入力すると、開始ページにアクセスできます。

私はMVCにかなり慣れていないので、ログインが機能するWebサイトを実際に作成したことはありません。私の Web サイトを匿名ユーザーから保護するためにどこから始めればよいか教えてもらえますか?

4

2 に答える 2

7

ASP.NET MVC には、Authorizeコントローラーをデコレートできる単純に呼び出される属性があります。

[Authorize]
public class YourController {

}

これにより、コントローラーでアクションを実行するには、ユーザーが認証される必要があります。

コントローラー全体で異なる認証が必要な場合は、アクション レベルでこれを指定することもできます。

public class YourController {
    public ActionResult OpenToTheWorld() {

    }

    [Authorize]
    public ActionResult GottaLogIn() {

    }
}

最後の注意事項...私のように、コントローラーとアクションへのアクセスを特定のグループAuthorizeのみに許可する必要がある場合は、属性を使用してそれを行うこともできます。

[Authorize(Roles = "Administrators, Editor")]

私は個人的に文字列がそのようにハードコーディングされるのが嫌いなので、適切なオブジェクトを受け入れる独自の属性をロールしました:

[MyAuthorize(Roles = new string[] { SiteRoles.Administrator, SiteRoles.Editor })]
于 2013-06-14T15:40:17.237 に答える
2

[Authorize]ホームページコントローラーで属性を使用しましたか?

私はそうではないと思います。そうしないと、ユーザーは自動的にログイン ページにリダイレクトされます。

于 2013-06-14T15:40:30.827 に答える