关于登陆的方法

fengyedc 2009-08-20 09:41:21
private DataRow setStringValue(DataRow dataRow,String tmp){
if(tmp!=null&&tmp.indexOf(":")>0){//至少有一个键:值
dataRow=new DataRow();
String[] items=tmp.split("\\|");
for (int i = 0; i < items.length; i++) {
if(items[i].indexOf(":")>0){
String[] item=items[i].split(":");
if(item!=null && item.length==1)
dataRow.set(item[0], "");
else
dataRow.set(item[0], item[1]);
}
}
}
return dataRow;
}

private DataRow getClientInfoFromCookie(HttpServletRequest request){
// 判断cookie,看用户是否已经登陆
String cookieStr= CookieHelper.getCookieValue(request,WebConstants.COOKIE_CLIENT_INFO_KEY);
try {
cookieStr=new String(Base64.decode(cookieStr),Configuration.getString("sso.charsetName"));
} catch (UnsupportedEncodingException e) {
cookieStr=null;
logger.warn("["+Configuration.getString("sso.charsetName")+"] 不是一个标准的字符格式");
}
DataRow cookieInfo=null;
return setStringValue(cookieInfo,cookieStr);
}


<category name="sso" description="用户中心数据表">
<item name="domain" value="dgzq.com.cn" description="用户中心的表前缀" />
<item name="cookiename" value="sso_cookie" description="用户中心的表前缀" />
<item name="keypath" value="D:/dgzq/service/src/Key.dat" description="key路径,可用|分隔从多个路径来取" />
<item name="clientEmailDomain" value="dgzq.com" description="邮件系统,客户默认的邮件域名" />
<item name="charsetName" value="UTF-8" description="保存cookie中字符的编码,一般使用utf-8" />
</category>
...全文
151 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿奇XS 2009-08-21
  • 打赏
  • 举报
回复
Linux+Oracle+Java 技术群:87923477 欢迎热爱技术的朋友们的参与
jhandsome007 2009-08-21
  • 打赏
  • 举报
回复
想干吗?
fengyedc 2009-08-21
  • 打赏
  • 举报
回复
/**
* 根据cookie名称,得到cookie的值
*
* @param request HttpServletRequest对象
* @param cookieName Cookie的名称
* @return cookie的值,若不存在,则返回空字串
*/
public static String getCookieValue(HttpServletRequest request, String cookieName)
{
String value = "";

Cookie cookie = getCookieByName(request, cookieName);
if (cookie != null)
{
value = cookie.getValue();
}

return value;
}

/**
* 根据cookie名称,得到对应的cookie值
*
* @param request HttpServletRequest对象
* @param cookieName cookie的名称
* @return 对应cookie的值,若不存在,则返回null
*/

public static Cookie getCookieByName(HttpServletRequest request, String cookieName)
{
Cookie cookies[];
if ((cookies = request.getCookies()) != null)
{
for (int i = 0; i < cookies.length; i++)
{
if (cookies[i].getName().equalsIgnoreCase(cookieName))
{
return (Cookie) cookies[i].clone();
}
}
}
return null;
}
fengyedc 2009-08-20
  • 打赏
  • 举报
回复
public class Configuration
{
private static Logger logger = Logger.getLogger(Configuration.class);
private static Map items = new HashMap();
private static String CONFIG_FILE_NAME = "configuration.xml";

static
{
loadConfig();
}

/**
* 读入配置文件
*/
private static void loadConfig()
{
try
{
InputStream is = Configuration.class.getResourceAsStream("/" + CONFIG_FILE_NAME);
SAXReader reader = new SAXReader();

Document document = reader.read(is);
Element systemElement = document.getRootElement();
List catList = systemElement.elements("category");
for (Iterator catIter = catList.iterator(); catIter.hasNext();)
{
Element catElement = (Element) catIter.next();
String catName = catElement.attributeValue("name");
if (StringHelper.isEmpty(catName))
{
continue;
}

List itemList = catElement.elements("item");
for (Iterator itemIter = itemList.iterator(); itemIter.hasNext();)
{
Element itemElement = (Element) itemIter.next();
String itemName = itemElement.attributeValue("name");
String value = itemElement.attributeValue("value");
if (!StringHelper.isEmpty(itemName))
{
items.put(catName + "." + itemName, value);
}
}
}
}
catch (Exception ex)
{
logger.error("", ex);
}
}

/**
* 获得字串配置值
*
* @param name
* @return
*/
public static String getString(String name)
{
String value = (String) items.get(name);
return (value == null) ? "" : value;
}

/**
* 获得字串配置值,若为空,则返回缺省值
*
* @param name
* @param defaultValue
* @return
*/
public static String getString(String name, String defaultValue)
{
String value = (String) items.get(name);
if (value != null && value.length() > 0)
return value;
else
return defaultValue;
}

/**
* 获得整型配置值
*
* @param name
* @return
*/
public static int getInt(String name)
{
String value = getString(name);
try
{
return Integer.parseInt(value);
}
catch (NumberFormatException ex)
{
return 0;
}
}

/**
* 获得整型配置值
*
* @param name
* @return
*/
public static int getInt(String name, int defaultValue)
{
String value = getString(name);
try
{
return Integer.parseInt(value);
}
catch (NumberFormatException ex)
{
}
return defaultValue;
}

/**
* 获得布尔型配置值
*
* @param name
* @return
*/
public static boolean getBoolean(String name)
{
String value = getString(name);
return Boolean.valueOf(value).booleanValue();
}

public Map getItems(){
return items;
}
}
【如鱼饮水】 2009-08-20
  • 打赏
  • 举报
回复
什么问题?

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧