WCF RIA 登录验证+cookie之完整登录验证加保留用户状态

2024-01-23 10:38

本文主要是介绍WCF RIA 登录验证+cookie之完整登录验证加保留用户状态,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://bbs.silverlightchina.net/forum.php?mod=viewthread&tid=8159&fromuid=149119


记录用户使用的是cookie,先写个cookie操作的类。
cookie.cs
在mainpage.cs中加入
public MainPage()
{
InitializeComponent();
//验证是否已经登录?读cookie
if(cookie.excits("username",_username) //进入用户仪表盘
else //留在登录页面
}
//登录按钮点击后
private void button1_Click(object sender, RoutedEventArgs e)
{

myds.checklogin(login1.textBox1.Text,login1.passwordBox1.Password, (xx) =>
{
if (xx.Value)
{
//登录成功后的处理,显示其他控件,隐藏登录控件
login1.Visibility = Visibility.Collapsed;
logout.Visibility = Visibility.Visible;//显示退出控件

//写cookie
cookie.Write("username", login1.textBox1.Text, -1);//永久保留cookie

}
else login1.textBlock3.Text = "用户名或者密码错误";
}, null);
}

//退出按钮点击,返回登录页面,清空cookie
private void button2_Click(object sender, RoutedEventArgs e)
{
//清除cookie
logout.Visibility = Visibility.Collapsed;
login1.Visibility = Visibility.Visible;
login1.textBox1.Text = "";
login1.passwordBox1.Password = "";
cookie.Delete("username");
}


本帖隐藏的内容
public class cookie
{
//是否存在
public static bool Exists(string key, string value)
{
return HtmlPage.Document.Cookies.Contains(key + "=" + value);
}
//读
public static string Read(string key)
{
string[] cookies = HtmlPage.Document.Cookies.Split(';');
foreach (string cookie in cookies)
{
string[] keyValuePair = cookie.Split('=');
if (keyValuePair.Length == 2 && key == keyValuePair[0].Trim())
return keyValuePair[1].Trim();
} return null;
}
//写
public static void Write(string key, string value, int expireDays)
{
// expireDays = 0, 浏览器进程
// expireDays = -1, 永久保留
// expireDays = n, 保留n天
string expires = "";
if (expireDays != 0)
{
DateTime expireDate = (expireDays > 0 ?
DateTime.Now + TimeSpan.FromDays(expireDays) :
DateTime.MaxValue);
expires = ";expires=" + expireDate.ToString("R");
} string cookie = key + "=" + value + expires;
HtmlPage.Document.SetProperty("cookie", cookie);
}

//删
public static void Delete(string key)
{
DateTime expireDate = DateTime.Now - TimeSpan.FromDays(1);
// yesterday
string expires = ";expires=" + expireDate.ToString("R");
string cookie = key + "=" + expires;
HtmlPage.Document.SetProperty("cookie", cookie);
}

这篇关于WCF RIA 登录验证+cookie之完整登录验证加保留用户状态的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/636137

相关文章

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

SpringBoot集成LiteFlow工作流引擎的完整指南

《SpringBoot集成LiteFlow工作流引擎的完整指南》LiteFlow作为一款国产轻量级规则引擎/流程引擎,以其零学习成本、高可扩展性和极致性能成为微服务架构下的理想选择,本文将详细讲解Sp... 目录一、LiteFlow核心优势二、SpringBoot集成实战三、高级特性应用1. 异步并行执行2

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,