当我第一次在input框里输入账号密码时,勾选checkbox框保存自动登录,怎么去判断,还得考虑检测是否是当前登录页面,求救!!!如果有这方面的代码就更好了
如果要用localstorage的话,登录页面要存储是否记住密码remember、当前记住密码登录时间date、用户名,密码。进入登录页面是就判断remember,获取当前时间dateToday与date相比较是否一周之内。获取用户名、密码,调用登录函数。$scope.user = {
name:'',
pwd:''
};
//$scope.remember = false;
$scope.checked = false;
$scope.check = function(){
$scope.remember = !$scope.remember
localStorage.setItem('remember', $scope.remember);
};
if(localStorage.getItem('remember')){
if(localStorage.getItem('remember')=='true'){
$scope.remember = true;
}else {
$scope.remember = false;
}
}
if(localStorage.getItem('remember')=='true'){
$scope.checked = true;
var userName = localStorage.getItem('userName');
var pwd = localStorage.getItem('pwd');
$scope.user.name = userName;
$scope.user.pwd = pwd;
//调用登录
login();
}
上面是部分代码,细节的地方多思考下。
谢谢!
就是这么想的,说的很清楚,谢谢你了
我没做过你这种的 不过之前做过一个类似于判断是否同一用户的需求,我是在页面请求的第一次去抓取当前用户本地信息,sdk包wap或者h5的效果更好通过sdk可以拿到信息更多,抓到这些信息之后服务端发送登陆页面指令同时在用户本地加入一条有时间限制的加密数据,每次访问服务器时候数据会更新里面的内容这样下次登陆时候方便记录,但是极其不推荐直接存储用户密码 很危险
感觉你的回答,但是我们使用的储存方式是这个,也没办法,有思路不会写,头疼
非常谢谢你的建议
@落梅: 一样的.....本地验证一点用都没有前端防君子不防小人 如果让你直接在前端存用户的密码 跟直接告诉别人密码一样
@流年过往: 你之前写的东西还在吗,能贴出来看看吗?感觉越说越迷糊了
@落梅: 我都写在服务端了...没用JS去写 能看懂不?能看懂的话我发你看看
@流年过往: 可以的
@落梅:
// 解析前端传递的服务器支付场景环境信息
string environmentInfoBase64 = StringUtils.NotNullStr(request[HeepayWebAPIConstant.EnvironmentInfo]);
if (string.IsNullOrEmpty(environmentInfoBase64) == false && string.IsNullOrEmpty(CurrentGatewayBillInfo.CardData) == false)
{
// 解析 Base64 读取 Json 数据验证
byte[] buff = Convert.FromBase64String(environmentInfoBase64);
string evJson = Encoding.GetEncoding("utf-8").GetString(buff);
envirJson = JObject.Parse(evJson);
//解析Json数据之后获取设备信息比对表单中的设备信息 临时使用base64设备信息
string deviceJson =StringUtils.NotNullStr(envirJson.GetValue(HeepayConstant.DeviceId)).Replace('-', '=');
string deviceID = CryptoUtils.TripleDESDecrypt(Encoding.UTF8, deviceJson, JNetEncrptKey.HeepayAjaxWebAPIEncryptKey, string.Empty);
if (CurrentGatewayBillInfo.ExtParam2.Equals(deviceID, StringComparison.CurrentCultureIgnoreCase) == false)
{
log.DebugFormat("DoValidate 设备ID与单据中设备ID不匹配,token={0},传入deviceid={1},单据deviceid={2}", Token, deviceJson, CurrentGatewayBillInfo.CardData);
retValue.HasError = true;
retValue.Message = "环境信息验证有误 -init#5";//环境信息验证有误
return retValue;
}
}
@落梅:
// 解析前端传递的服务器支付场景环境信息
string environmentInfoBase64 = StringUtils.NotNullStr(request[HeepayWebAPIConstant.EnvironmentInfo]);
if (string.IsNullOrEmpty(environmentInfoBase64) == false && string.IsNullOrEmpty(CurrentGatewayBillInfo.CardData) == false)
{
// 解析 Base64 读取 Json 数据验证
byte[] buff = Convert.FromBase64String(environmentInfoBase64);
string evJson = Encoding.GetEncoding("utf-8").GetString(buff);
envirJson = JObject.Parse(evJson);
//解析Json数据之后获取设备信息比对表单中的设备信息 临时使用base64设备信息
string deviceJson =StringUtils.NotNullStr(envirJson.GetValue(HeepayConstant.DeviceId)).Replace('-', '=');
string deviceID = CryptoUtils.TripleDESDecrypt(Encoding.UTF8, deviceJson, JNetEncrptKey.HeepayAjaxWebAPIEncryptKey, string.Empty);
if (CurrentGatewayBillInfo.ExtParam2.Equals(deviceID, StringComparison.CurrentCultureIgnoreCase) == false)
{
log.DebugFormat("DoValidate 设备ID与单据中设备ID不匹配,token={0},传入deviceid={1},单据deviceid={2}", Token, deviceJson, CurrentGatewayBillInfo.CardData);
retValue.HasError = true;
retValue.Message = "环境信息验证有误 -init#5";//环境信息验证有误
return retValue;
}
}
@流年过往: 谢谢你的帮忙