如何编写自己的AuthorizeTag?

时间:2009-09-28 02:58:20

标签: c# asp.net .net asp.net-mvc asp.net-membership

我放弃了asp.net会员资格,所以我猜我需要自己的授权标签(如果我错了,请纠正我)。因为他们可能都指向成员类(不知道如何验证这一点)。

现在我试着这样做

public class MyTest:AuthorizeAttribute {

protected override bool AuthorizeCore(HttpContextBase httpContext)
{
    if (httpContext == null) throw new ArgumentNullException("httpContext");

    // Make sure the user is authenticated.
    if (httpContext.User.Identity.IsAuthenticated == false)
    {
        return false;
    }
    else
    {
        return false;
    }
}

}

然后我以自己的视角看待我。

FormsAuthentication.SetAuthCookie(“xiao”,true);

然后我有了另一种观点

[MyTest的()]     公共ActionResult关于()     {         return View();     }

然后我转到此视图,我仍然可以访问它。我看到它把它放在网址

"LogOn?ReturnUrl=%2fHome%2fAbout"

但底线是我仍然可以看到页面(以及所有内容)。当我至少看到你未经授权或类似的东西时。

我做错了什么?

由于

好吧现在似乎工作但我仍然不知道如何传递角色。

2 个答案:

答案 0 :(得分:1)

你可以实施custom membership provider并为自己省去很多悲伤。

答案 1 :(得分:0)

Custom Role Provider也会有所帮助......