在MVC项目中为JWT创建特定的授权属性

问题描述

我已经创建了一个MVC项目,我想使用JWT授权在此应用程序中注册用户查看一些网页。

首先,我用两种方法添加一个新的Web API 2 Controller(-Empty)。 这是控制器:

using System.Net;
using System.Net.Http;
using System.Web.Http;
public class JWTController : ApiController
{

    [Route("JWT/GenerateJWT")]
    [HttpGet]
    [AllowAnonymous]
    // public string GetJWT(string username,string password)
    public HttpResponseMessage  GenerateJWT()
    {
        string result = TokenManager.Generatetoken("JustATest");
        return Request.CreateResponse(HttpStatusCode.OK,result);
    }

    [HttpGet]
    // [JWTAuthentication]
    public string HelloWorld()
    {
        return "HelloWorld";
    }
}

我想问一下如何开发一个属性,例如 [JWTAuthentication] ,该属性仅允许具有JWT的用户调用HelloWorld()方法,或者让我使用 [授权] 属性?如果可能,是否可以在项目的其他控制器(WEBAPI控制器/ MVC5控制器)中使用该属性

我尝试过This Solution来帮助我开发TokenManager类,但是在创建用于授权和身份验证的新属性时遇到了问题。

好吧...我希望有人能帮助我=( 谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)