在asp.net web API中创建自定义ClaimsIdentity

时间:2015-02-08 11:16:08

标签: asp.net-web-api asp.net-identity asp.net-web-api2

我正在使用带有asp.net identity 2.0的asp.net web api 2.0。在GrantResourceOwnerCredentials中,我有以下代码来生成标识

var claimsIdentity = user.GenerateIdentityAsync(authType);

claimsIdentity又用于创建令牌。我想要做的是创建一个ClaimsIdentity的子类并从该子类创建标记,如

public class CustomClaimsIdentity: ClaimsIdentity{
     public CustomClaimsIdentity(int companyId){
       this.AddClaim('currentCompany', companyId.ToString());
     }
     public int GetCompanyId(){
        var claim = this.Claims.Single(x=>x.ClaimType == 'currentCompany');
        return int.Parse(claim.Value);    
     }
}

此子类中还将有一些其他功能。我想从这个子类创建令牌,并希望以某种方式将它(CustomClaimsIdentity)附加到我的控制器上,这样我就可以获得用户的公司ID并做其他一些事情。

0 个答案:

没有答案