C#中FormsAuthentication用法实例
作者:junjie 时间:2023-06-02 14:33:52
using System;
using System.Web;
using System.Web.Security;
namespace AuthTest
{
public class Authentication
{
/// <summary>
/// 设置用户登陆成功凭据(Cookie存储)
/// </summary>
/// <param name="UserName">用户名</param>
/// <param name="PassWord">密码</param>
/// <param name="Rights">权限</param>
public static void SetCookie(string UserName,string PassWord,string Rights)
{
//
//String PassWord="test";
//
String UserData = UserName + "#" + PassWord+"#"+Rights;
if (true)
{
//数据放入ticket
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, UserName, DateTime.Now, DateTime.Now.AddMinutes(60), false, UserData);
//数据加密
string enyTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, enyTicket);
HttpContext.Current.Response.Cookies.Add(cookie);
}
}
/// <summary>
/// 判断用户是否登陆
/// </summary>
/// <returns>True,Fales</returns>
public static bool isLogin()
{
return HttpContext.Current.User.Identity.IsAuthenticated;
}
/// <summary>
/// 注销登陆
/// </summary>
public static void logOut()
{
FormsAuthentication.SignOut();
}
/// <summary>
/// 获取凭据中的用户名
/// </summary>
/// <returns>用户名</returns>
public static string getUserName()
{
if (isLogin())
{
string strUserData = ((FormsIdentity)(HttpContext.Current.User.Identity)).Ticket.UserData;
string[] UserData = strUserData.Split('#');
if (UserData.Length != 0)
{
return UserData[0].ToString();
}
else
{
return "";
}
}
else
{
return "";
}
}
/// <summary>
/// 获取凭据中的密码
/// </summary>
/// <returns>密码</returns>
public static string getPassWord()
{
if (isLogin())
{
string strUserData = ((FormsIdentity)(HttpContext.Current.User.Identity)).Ticket.UserData;
string[] UserData = strUserData.Split('#');
if (UserData.Length!=0)
{
return UserData[1].ToString();
}
else
{
return "";
}
}
else
{
return "";
}
}
/// <summary>
/// 获取凭据中的用户权限
/// </summary>
/// <returns>用户权限</returns>
public static string getRights()
{
if (isLogin())
{
string strUserData = ((FormsIdentity)(HttpContext.Current.User.Identity)).Ticket.UserData;
string[] UserData = strUserData.Split('#');
if (UserData.Length!=0)
{
return UserData[2].ToString();
}
else
{
return "";
}
}
else
{
return "";
}
}
}
}
标签:C#,FormsAuthentication
0
投稿
猜你喜欢
基于synchronized修饰静态和非静态方法
2021-10-30 06:58:03
老生常谈设计模式之动态代理
2021-06-12 06:15:50
java反射使用示例分享
2023-07-02 20:18:59
Java调用Shell命令的方法
2022-01-06 20:01:34
最优雅地整合 Spring & Spring MVC & MyBatis 搭建 Java 企业级应用(附源码)
2023-09-26 18:27:57
关于easyExcel中读取Excel表头的实例说明
2023-10-11 17:48:43
详解Docker学习笔记之搭建一个JAVA Tomcat运行环境
2022-09-03 02:26:06
Android SQLite数据库版本升级的管理实现
2023-11-09 23:58:44
C#实现功能强大的中国农历日历操作类
2023-06-05 04:13:59
C#实现JSON字符串序列化与反序列化的方法
2023-12-01 12:40:23
c#中虚函数的相关使用方法
2022-10-25 05:44:53
Android提高之使用NDK把彩图转换灰度图的方法
2023-07-22 02:00:07
java 三种将list转换为map的方法详解
2023-09-13 03:35:39
Java实现软件运行时启动信息窗口的方法
2023-01-04 06:21:55
Java并发编程之浅谈ReentrantLock
2022-08-25 10:46:02
Eclipse项目怎么导入IDEA并运行(超详细)
2021-11-15 06:51:41
Android编程实现仿优酷圆盘旋转菜单效果的方法详解【附demo源码下载】
2021-05-27 11:39:35
Android实现记住账号密码功能
2021-10-02 01:51:24
Java try()语句实现try-with-resources异常管理机制操作
2022-02-06 18:29:16
Java如何通过枚举实现有限状态机
2021-08-05 04:21:05