Dealing with OpenId(II)

本文介绍了一种利用OpenID进行用户身份验证的方法。通过示例展示了如何设置登录页面、重定向表单及返回处理流程,并从Google服务器获取用户的详细信息。
Dealing with OpenId(II)

First Page index.jsp:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Hello World!</title>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<style type="text/css">
.openid_identifier {
width:300px;
}
</style>
</head>
<body>
<div>
<fieldset>
<legend>Sample 2: using the Simple Registration extension(doc: <a href="http://code.google.com/p/openid4java/wiki/SRegHowTo">SRegHowTo</a>)</legend>
<form action="consumer" method="post">
<div>
<input type="text" name="openid_identifier" class="openid_identifier" value="https://www.google.com/accounts/o8/id"/>
<br />
<input type="checkbox" name="nickname" value="1" id="nickname" checked="checked" />
<label for="nickname">Nickname</label>

<input type="checkbox" name="email" value="1" id="email" checked="checked" />
<label for="email">Email</label>

<input type="checkbox" name="fullname" value="1" id="fullname" checked="checked" />
<label for="fullname">Fullname</label>

<input type="checkbox" name="country" value="1" id="country" checked="checked" />
<label for="country">Country</label>

<input type="checkbox" name="language" value="1" id="language" checked="checked" />
<label for="language">Language</label>

<br />
<input type="submit" name="login" value="Login" />
</div>
</form>
</fieldset>

</div>
</body>
</html>

Maybe, if it is really project, I will hide every properties, only place one openId link here.

Form redirect page, formredirection.jsp:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenID HTML FORM Redirection</title>
</head>
<body onload="document.forms['openid-form-redirection'].submit();">
<form name="openid-form-redirection" action="${message.OPEndpoint}" method="post" accept-charset="utf-8">
<c:forEach var="parameter" items="${message.parameterMap}">
<input type="hidden" name="${parameter.key}" value="${parameter.value}"/>
</c:forEach>
Continue...
</form>
</body>
</html>

Return page, we can see all the parameter from google server side. return.jsp:
<?xml version="1.0" encoding="UTF-8"?>
<%@page contentType="text/html; charset=UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Hello World!</title>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
</head>
<body>
<div>
Login Success!
<div>
queryString:
${pageContext.request.queryString}
</div>
<div>
<dl>
<dt>Your OpenID: ${identifier}</dt>
<dt>Nickname: ${nickname}</dt>
<dt>Email: ${email}</dt>
<dt>Fullname: ${fullname}</dt>
<dt>Country: ${country}</dt>
<dt>Language: ${language}</dt>
</dl>
</div>
<div>
<a href="logout.jsp">Logout</a>
</div>
</div>
</body>
</html>

logout page, logout.jsp:
<%
session.invalidate();
response.sendRedirect("index.jsp");
%>

We can get back many informations from google server:
Your OpenID: https://www.google.com/accounts/o8/id?id=AItOawm3ZltSt7HfYvmrzy8M1MWAoYg5TXGaJvc
Nickname: luo
Email: 4myhappylife@gmail.com
Fullname: carl
Country: CN
Language: en-US

all the demo codes are in sample project easyopenid.
需求响应动态冰蓄冷系统与需求响应策略的优化研究(Matlab代码实现)内容概要:本文围绕需求响应动态冰蓄冷系统及其优化策略展开研究,结合Matlab代码实现,探讨了在电力需求侧管理背景下,冰蓄冷系统如何通过优化运行策略参与需求响应,以实现削峰填谷、降低用电成本和提升能源利用效率的目标。研究内容包括系统建模、负荷预测、优化算法设计(如智能优化算法)以及多场景仿真验证,重点分析不同需求响应机制下系统的经济性和运行特性,并通过Matlab编程实现模型求解与结果可视化,为实际工程应用提供理论支持和技术路径。; 适合人群:具备一定电力系统、能源工程或自动化背景的研究生、科研人员及从事综合能源系统优化工作的工程师;熟悉Matlab编程且对需求响应、储能优化等领域感兴趣的技术人员。; 使用场景及目标:①用于高校科研中关于冰蓄冷系统与需求响应协同优化的课题研究;②支撑企业开展楼宇能源管理系统、智慧园区调度平台的设计与仿真;③为政策制定者评估需求响应措施的有效性提供量化分析工具。; 阅读建议:建议读者结合文中Matlab代码逐段理解模型构建与算法实现过程,重点关注目标函数设定、约束条件处理及优化结果分析部分,同时可拓展应用其他智能算法进行对比实验,加深对系统优化机制的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值