首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用操作的自定义身份验证/授权属性

使用操作的自定义身份验证/授权属性
EN

Stack Overflow用户
提问于 2015-06-08 07:21:10
回答 1查看 210关注 0票数 1

我们有一个网站,它使用ASP标识,并在所有适当的类上散布Authorize属性。

我要做的是为一组特定的操作创建一个单独的身份验证系统。这是一个不是完全匿名的页面,但如果输入正确的PIN,就可以查看。

我开始查看身份验证/授权属性,如果未通过身份验证,它会重定向到我的PIN输入页面。

所以我想我要问的是,我如何认证一个虚拟用户(也就是:不在数据库中),以便在输入正确的PIN后能够访问这些页面?

EN

回答 1

Stack Overflow用户

发布于 2015-06-08 07:38:58

您可以通过继承并覆盖AuthorizeCore方法来创建自己版本的AuthorizeAttribute

代码语言:javascript
运行
复制
public class PinAuthorizeAttribute : AuthorizeAttribute
{
    private readonly string _password;

    public PinAuthorizeAttribute(string password)
    {
        _password = password;
    }
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        //Check if user has entered the correct PIN, perhaps
        //by keeping the PIN in the Session
        if(Session["PIN") == _password)
            return true;

        return false;
    }
}

现在将它添加到您的操作方法中:

代码语言:javascript
运行
复制
[PinAuthorize("1234")]
public ActionResult ProtectedIndex()
{ 
    //snip
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30699462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档