Asp.net core Asp.NETMVC核心3.0持久性
我正在开发asp.NETMVC核心web应用程序。我的要求是登录和注销功能。如何做到持之以恒?我想与身份扩展一起发展。请指导我如何实施正确的方法 下面的IdentityExtension和GenericUser这两个类都用于我以前的asp.mvc框架项目。我想以类似的方式创建asp.net mvc core 3.0Asp.net core Asp.NETMVC核心3.0持久性,asp.net-core,asp.net-core-mvc,asp.net-core-2.0,asp.net-core-3.0,Asp.net Core,Asp.net Core Mvc,Asp.net Core 2.0,Asp.net Core 3.0,我正在开发asp.NETMVC核心web应用程序。我的要求是登录和注销功能。如何做到持之以恒?我想与身份扩展一起发展。请指导我如何实施正确的方法 下面的IdentityExtension和GenericUser这两个类都用于我以前的asp.mvc框架项目。我想以类似的方式创建asp.net mvc core 3.0 public static class IdentityExtension { public static GenericUserIdentity ToGen
public static class IdentityExtension
{
public static GenericUserIdentity ToGenericUserIdentity(this IIdentity identity)
{
var cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
var ticketInfo = FormsAuthentication.Decrypt(cookie.Value);
return new GenericUserIdentity(ticketInfo);
}
}
从IIdentity继承的类GenericUserIdentity类似于我创建GenericUserIdentity:ClaimsIdentity还是我应该使用相同的IIdentity请给出任何示例。
namespace Tmmmt.Persistance
{
[Serializable]
public class GenericUser
{
public string RoleName { get; set; }
public int UserID { get; set; }
public string UserName { get; set; }
}
[Serializable]
public class GenericUserIdentity : IIdentity
{
private GenericUser genericUser;
private FormsAuthenticationTicket ticket;
public GenericUserIdentity(FormsAuthenticationTicket ticket)
{
var serializer = new JsonSerializer();
var reader = new JsonTextReader(new StringReader(ticket.UserData));
genericUser = serializer.Deserialize<GenericUser>(reader);
this.ticket = ticket;
}
public string AuthenticationType
{
get { return "Custom"; }
}
public bool IsAuthenticated
{
get { return ticket != null; }
}
public string Name
{
get { return genericUser.UserName; }
}
public string RoleName
{
get{return genericUser.RoleName;}
}
public int UserID
{
get { return genericUser.UserID; }
}
}
}
名称空间Tmmmt.persistence
{
[可序列化]
公共类泛型用户
{
公共字符串RoleName{get;set;}
public int UserID{get;set;}
公共字符串用户名{get;set;}
}
[可序列化]
公共类GenericUserIdentity:IIIdentity
{
私有泛型用户泛型用户;
私人身份证;
公共通用用户标识(用于身份验证票证)
{
var serializer=new JsonSerializer();
var reader=newjsontextreader(newstringreader(ticket.UserData));
genericUser=序列化程序。反序列化(读取器);
这张票=票;
}
公共字符串身份验证类型
{
获取{返回“自定义”;}
}
公共图书馆已通过认证
{
获取{回程票!=null;}
}
公共字符串名
{
获取{return genericUser.UserName;}
}
公共字符串RoleName
{
获取{return genericUser.RoleName;}
}
公共int用户标识
{
获取{return genericUser.UserID;}
}
}
}
我将从这里开始:感谢更新,该链接将对我有所帮助,尽管您可以看到上面的示例代码@估价员