使用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 ...
随机推荐
- HTTPD解析介绍
配置文件全局介绍 (1)主配置文件:/etc/httpd/conf/httpd.conf 全局配置:Section 1: Global Environment 第33行 中心主机配置: Section ...
- vue知识拓展
组件 *组件里面如果要放数据: data必须是函数的形式,函数必须返回一个对象(json),有的时候我们自己创建的组件需要使用到自己的数据,此外组建中也可以放入自己的其他的比如事件之类的 ...
- Java实现的词频统计——功能改进
本次改进是在原有功能需求及代码基础上额外做的修改,保证了原有的基础需求之外添加了新需求的功能. 功能: 1. 小文件输入——从控制台由用户输入到文件中,再对文件进行统计: 2.支持命令行输入英文作品的 ...
- mb_strlen(,utf-8);可以除去中文字符,统一返回是几个字符
mb_strlen(,utf-8);可以除去中文字符,统一返回是几个字符
- $(document).click() 在苹果手机上不能正常运行解决方案
本来是如下一段跳转代码,发现在安卓和微信开发者工具上都能正常运行,但是苹果手机就不行了. $(document).on('click', '.url', function(){ location.hr ...
- 关于jquery中on绑定click事件在苹果手机失效的问题(巨坑啊)
用一个div当做了一个按钮来使用. <div class="button"> <div class=" next_button button_left ...
- python判断字符串是否包含子字符串
python的string对象没有contains方法,不可以使用string.contains的方法判断是否包含子字符串,但是python有更简单的方法来替换contains函数 python的st ...
- centos中apache自用常用额外配置记录(xwamp)
xwamp套件中apache配置,记录下,以免忘记. 配置路径 ${wwwroot_dir}/conf/httpd.conf 配置内容 <ifmodule mod_deflate.c> D ...
- 【NOIP2017】列队(Splay)
[NOIP2017]列队(Splay) 题面 洛谷 题解 其实好简单啊... 对于每一行维护一棵\(Splay\) 对于最后一列维护一棵\(Splay\) \(Splay\)上一个节点表示一段区间 每 ...
- MySQL自定义函数、触发器、存储过程
存储过程 概念 存储过程,是一个数据库对象,类似一个函数. 在存储过程中可以使用SQL中的绝大部分内容,并且可以加入编程语言的特性(循环判断分支). 编写好存储过程之后,可以在客户端调用存储过程,存储 ...