使用Forms Authentication
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 ""; } } }}使用Forms Authentication的更多相关文章
- Nancy之Forms authentication的简单使用
一.前言 想必大家或多或少都听过微软推出的ASP.NET Identity技术,可以简单的认为就是一种授权的实现 很巧的是,Nancy中也有与之相类似的技术Authentication,这两者之间都用 ...
- Nancy 学习-身份认证(Forms authentication) 继续跨平台
开源 示例代码:https://github.com/linezero/NancyDemo 上篇讲解Nancy的Basic Authentication,现在来学习Nancy 的Forms身份认证. ...
- ASP.NET 4.0 forms authentication issues with IE11
As I mentioned earlier, solutions that rely on User-Agent sniffing may break, when a new browser or ...
- Forms Authentication in ASP.NET MVC 4
原文:Forms Authentication in ASP.NET MVC 4 Contents: Introduction Implement a custom membership provid ...
- Forms Authentication and Role based Authorization: A Quicker, Simpler, and Correct Approach
https://www.codeproject.com/Articles/36836/Forms-Authentication-and-Role-based-Authorization Problem ...
- An Overview of Forms Authentication (C#)
https://docs.microsoft.com/en-us/aspnet/web-forms/overview/older-versions-security/introduction/an-o ...
- .net core 共享 .Net Forms Authentication cookie
Asp.net 项目迁移到 asp.net core 项目后需要 兼容以前老的项目的登录方式. Forms Authentication cookie 登录. 从网上搜集到关于这个问题的解决思路都没有 ...
- ASP.NET Session and Forms Authentication and Session Fixation
https://peterwong.net/blog/asp-net-session-and-forms-authentication/ The title can be misleading, be ...
- Forms authentication timeout vs sessionState timeout
https://stackoverflow.com/questions/17812994/forms-authentication-timeout-vs-sessionstate-timeout Th ...
- SSRS 2016 Forms Authentication
SSRS 2016 comes with completely new report manager web interface and implementing form authenticatio ...
随机推荐
- MDL详解
以下的虚拟内存可以理解成逻辑内存,因为我觉得只有这样才能讲通下面所有的东西.以下的“未分页”指没有为页进行编码. 以下为MDL结构体(我很郁闷,我在MSDN上没有找到这个结构体) typedef st ...
- Qt程序打包,自动拷贝依赖文件
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt程序打包,自动拷贝依赖文件 本文地址:http://techieliang.com ...
- 【C++】C++的构造函数
构造函数是特殊的成员函数,只要创建类类型的对象,都要执行构造函数.构造函数的工作是保证每个对象的数据成员具有合适的初始值. class Sales_Item { public: //operation ...
- SQL入门之集合操作
尽管可以在与数据库交互时一次只处理一行数据,但实际上关系数据库通常处理的都是数据的集合.在数学上常用的集合操作为:并(union),交(intersect),差(except).对于集合运算必须满足下 ...
- 【Java并发编程】之四:守护线程与线程阻塞的四种情况
守护线程 Java中有两类线程:User Thread(用户线程).Daemon Thread(守护线程) 用户线程即运行在前台的线程,而守护线程是运行在后台的线程. 守护线程作用是为其他前台线程 ...
- (一)Quartz2.2.1 简单例子
转载至http://blog.csdn.net/a4307515/article/details/46985533 1.关键接口 Scheduler,任务调度的API:它可以用来启动或者终止任务等. ...
- 一些兼容性的meta标签
<!-- 仅针对IOS的Safari顶端状态条的样式(可选default/black/black-translucent )--> <meta name="apple-mo ...
- (三)MySQL学习笔记
[Leecode]175. 组合两个表 解答:由于是组合两个表的信息,很容易想到连接查询,这里使用左连接 select p.Firstname,p.Lastname,q.City,q.State fr ...
- Unity3D手游开发日记(1) - 移动平台实时阴影方案
阴影这个东西,说来就话长了,很多年前人们就开始研究出各种阴影技术,但都存在各种瑕疵和问题,直到近几年出现了PSSM,也就是CE3的CSM,阴影技术才算有个比较完美的解决方案.Unity自带的实时阴影, ...
- ZJOI2018 D1
归途的车上满是悲伤的气息 虽然早就预言到D1会滚粗,但一切都结束之后还是特别难过. 延时15min 50min T1 30pts 1.5h T2 10pts 2.5h T1 50pts 4.5h T3 ...