SSOUtils.java
Upload User: gdxydsw
Upload Date: 2019-01-29
Package Size: 16721k
Code Size: 3k
Category:

Java Develop

Development Platform:

Java

  1. /*
  2.  * Copyright (c) JForum Team
  3.  * All rights reserved.
  4.  * 
  5.  * Redistribution and use in source and binary forms, 
  6.  * with or without modification, are permitted provided 
  7.  * that the following conditions are met:
  8.  * 
  9.  * 1) Redistributions of source code must retain the above 
  10.  * copyright notice, this list of conditions and the 
  11.  * following  disclaimer.
  12.  * 2)  Redistributions in binary form must reproduce the 
  13.  * above copyright notice, this list of conditions and 
  14.  * the following disclaimer in the documentation and/or 
  15.  * other materials provided with the distribution.
  16.  * 3) Neither the name of "Rafael Steil" nor 
  17.  * the names of its contributors may be used to endorse 
  18.  * or promote products derived from this software without 
  19.  * specific prior written permission.
  20.  * 
  21.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT 
  22.  * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
  23.  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, 
  24.  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
  25.  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
  26.  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 
  27.  * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 
  28.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
  29.  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
  30.  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
  31.  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
  32.  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
  33.  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 
  34.  * IN CONTRACT, STRICT LIABILITY, OR TORT 
  35.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
  36.  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
  37.  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
  38.  * 
  39.  * Created on Jun 2, 2005 6:56:25 PM
  40.  * The JForum Project
  41.  * http://www.jforum.net
  42.  */
  43. package net.jforum.sso;
  44. import net.jforum.dao.DataAccessDriver;
  45. import net.jforum.dao.UserDAO;
  46. import net.jforum.entities.User;
  47. /**
  48.  * General utilities to use with SSO.
  49.  * 
  50.  * @author Rafael Steil
  51.  * @version $Id: SSOUtils.java,v 1.6 2006/08/20 22:47:43 rafaelsteil Exp $
  52.  */
  53. public class SSOUtils
  54. {
  55. private String username;
  56. private boolean exists = true;
  57. private User user;
  58. private UserDAO dao;
  59. /**
  60.  * Checks if an user exists in the database
  61.  * 
  62.  * @param username The username to check
  63.  * @return <code>true</code> if the user exists. If <code>false</code> is
  64.  * returned, then you can insert the user by calling {@link #register(String, String)}
  65.  * @see #register(String, String)
  66.  * @see #getUser()
  67.  */
  68. public boolean userExists(String username)
  69. {
  70. this.username = username;
  71. this.dao = DataAccessDriver.getInstance().newUserDAO();
  72. this.user = this.dao.selectByName(username);
  73. this.exists = this.user != null;
  74. return this.exists;
  75. }
  76. /**
  77.  * Registers a new user. 
  78.  * This method should be used together with {@link #userExists(String)}. 
  79.  * 
  80.  * @param password the user's password. It <em>should</em> be the real / final 
  81.  * password. In other words, the data passed as password is the data that'll be
  82.  * written to the database
  83.  * @param email the user's email
  84.  * @see #getUser()
  85.  */
  86. public void register(String password, String email)
  87. {
  88. if (this.exists) {
  89. return;
  90. }
  91. // Is a new user for us. Register him
  92. this.user = new User();
  93. user.setUsername(this.username);
  94. user.setPassword(password);
  95. user.setEmail(email);
  96. user.setActive(1);
  97. this.dao.addNew(user);
  98. }
  99. /**
  100.  * Gets the user associated to this class instance.
  101.  * 
  102.  * @return the user
  103.  */
  104. public User getUser()
  105. {
  106. return this.user;
  107. }
  108. }