mvc4 Forms验证存储 两种登录代码
自己也不知道网上看到的第一种居多,第二种用到的人很少,第二种代码十分简洁,就是不清楚是否有安全隐患。
要采用Forms身份验证,先要在应用程序根目录中的Web.config中做相应的设置:
<authentication mode="forms">
<forms name=".ASPXAUTH " loginUrl="/Account/Login" />
</authentication>
1.第一种登录代码
public ActionResult LoginIn(string username,string password)
{
string userdata = username + "|" + password;
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(,
username,
DateTime.Now,
DateTime.Now.AddHours(),
true,
userdata); string encryptedTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
Response.Cookies.Add(authCookie); return RedirectToAction("Index");
}
判断是否登录,取cookie里的登录信息。
public ActionResult Index()
{
if (User.Identity.IsAuthenticated)
{
string cookieName = FormsAuthentication.FormsCookieName;
HttpCookie authCookie = Request.Cookies[cookieName];
FormsAuthenticationTicket authTicket = null;
authTicket = FormsAuthentication.Decrypt(authCookie.Value);
string userinfo = authTicket.UserData;
} return View();
}
注销登录,这个两种方法通用。
public string loginOut()
{
FormsAuthentication.SignOut();
return "ok";
}
接下来是自己用的第二种登录代码
2.第二种登录代码
public ActionResult LoginIn(string username, string password)
{
string userdata = username + "|" + password;
FormsAuthentication.SetAuthCookie(userdata,true); return RedirectToAction("Index");
}
判断是否登录,取cookie里的登录信息。
public ActionResult Index()
{
if (User.Identity.IsAuthenticated)
{
string userinfo = User.Identity.Name;
}
return View();
}
mvc4 Forms验证存储 两种登录代码的更多相关文章
- WebApi服务Uri加密及验证的两种方式
最近的一个项目要求服务端与UI层分离,业务层以WebApi方式向外提供所有业务服务,服务在数据保密性方面提出了要求,主要包括: 1:客户端认证: 2:服务请求超时(默认5分钟): 3:服务Get请求的 ...
- 图解SSH原理及两种登录方法
SSH(Secure Shell)是一套协议标准,可以用来实现两台机器之间的安全登录以及安全的数据传送,其保证数据安全的原理是非对称加密. 传统的对称加密使用的是一套秘钥,数据的加密以及解密用的都是这 ...
- [转] SSH两种登录方式(公私钥)解析
转自:https://www.cnblogs.com/hukey/p/6248468.html SSH登录方式主要分为两种: 1. 用户名密码验证方式 说明: (1) 当客户端发起ssh请求,服务器会 ...
- SSH的两种登录方式以及配置
前言 SSH简介 Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议.它是专为远程登录 ...
- C#连接sqlserver windows 和 sqlserver 身份验证的两种连接字符串
//sql server 身份验证 连接字符串 private string ConnstrSqlServer = "server=服务器名称;uid=登录名称;pwd=登录密码;datab ...
- ace+validate表单验证(两种方法)
//修改密码(直接在validate中验证提交) $("#changePassword").on(ace.click_event, function() { var html = ...
- 为WebService添加身份验证的两种方法
方法一:SoapHeader 辅助类:MySoapHeader //SoapHeader 添加引用 using System.Web.Services.Protocols; #region 配置登录标 ...
- SSH的两种登录方式
ssh客户端使用的是Xshell,windows环境. 第一种方式,用户名密码方式 原理如下: 客户端发起ssh请求之后,服务器把自己的公钥传给客户端 客户端输入服务器密码通过公钥加密之后传给服务器 ...
- IE6.0升级的两种通用代码
随着W3C组织开始针对新的Web标准提案日期的到来,HTML5以及CSS3的新时代即将到来,同时微软的Win8以及IE10的出现也带给了这个世界奇妙的结构. 微软早在不再给WinXP做技术支持时,IE ...
随机推荐
- VOJ1067 【矩阵经典7 构造矩阵】
任意门:https://vijos.org/records/5be95b65d3d8a1366270262b 背景 守望者-warden,长期在暗夜精灵的的首都艾萨琳内担任视察监狱的任务,监狱是成长条 ...
- Educational Codeforces Round 53 (Rated for Div. 2) C. Vasya and Robot 【二分 + 尺取】
任意门:http://codeforces.com/contest/1073/problem/C C. Vasya and Robot time limit per test 1 second mem ...
- 2018.11.22 mac中"允许所有安装来源"的命令 & Mac窗口标题显示文件的路径
当Mac遇到软件无法安装或者此文件已经损坏之类的时候 原因是软件为破解版,地址来源已改变,被系统拦截了,解决办法就是直接在终端中输入"sudo spctl --master-disable ...
- Hibernate注解开发示例
-------------------------------------------------------------------customer------------------------- ...
- Java 的 FileFilter文件过滤,readline读行操作
package com.cjonline.foundation.evisa; import java.io.BufferedReader; import java.io.File; import ja ...
- LeetCode6.Z字形变换 JavaScript
将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I R E T ...
- LeetCode5.最长回文子串 JavaScript
给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab" 注意: &qu ...
- JavaScript自己整理的基础-01
1.JavaScript 简介: JavaScript是互联网上最流行的脚本语言,所有现代的HTML都使用JavaScript.既然是脚本语言,那么它的特点就有一下三种: (1)弱类型: (2)解释型 ...
- vue-resource+iview上传文件取消上传
vue-resource+iview上传文件取消上传 子组件: <template> <div class="upload-area-div"> <U ...
- windows下openresty中使用lua做接口转发、二次封装等
需求:根据客户需求,可以在ngx下 通过lua做接口二次封装再次转发给用户或第三方 场景:对返回值有要求的.接口屏蔽字段.或做一些业务上的验证等 1.windows直接下载openresty 解压即可 ...