user.java

来自「移动彩信管理平台」· Java 代码 · 共 241 行

JAVA
241
字号
package com.my7g.zj.mobile.mms.bean;

import org.acegisecurity.GrantedAuthority;
import org.acegisecurity.context.SecurityContextHolder;
import org.acegisecurity.userdetails.UserDetails;
import org.springframework.util.Assert;

public class User implements UserDetails {

	private static final long serialVersionUID = 1L;
	private String password;
	private String username;
	private GrantedAuthority[] authorities;
	private boolean accountNonExpired;
	private boolean accountNonLocked;
	private boolean credentialsNonExpired;
	private boolean enabled;
	private String userid;
	private String usergroup;
	private String groupop;
	private Object obj;
	
	

	// ~ Constructors
	// ===================================================================================================

	public Object getObj() {
		return obj;
	}

	public void setObj(Object obj) {
		this.obj = obj;
	}

	public User(String username, String password, boolean enabled,
			boolean accountNonExpired, boolean credentialsNonExpired,
			boolean accountNonLocked, GrantedAuthority[] authorities,
			String userid, String usergroup, String groupop,Object obj)
			throws IllegalArgumentException {
		if (((username == null) || "".equals(username)) || (password == null)) {
			throw new IllegalArgumentException(
					"Cannot pass null or empty values to constructor");
		}

		this.username = username;
		this.password = password;
		this.enabled = enabled;
		this.accountNonExpired = accountNonExpired;
		this.credentialsNonExpired = credentialsNonExpired;
		this.accountNonLocked = accountNonLocked;
		this.userid = userid;
		this.usergroup = usergroup;
		this.groupop = groupop;
		this.obj = obj;
		setAuthorities(authorities);
	}

	// ~ Methods
	// ========================================================================================================

	public boolean equals(Object rhs) {
		if (!(rhs instanceof User) || (rhs == null)) {
			return false;
		}

		User user = (User) rhs;

		// We rely on constructor to guarantee any User has non-null and >0
		// authorities
		if (user.getAuthorities().length != this.getAuthorities().length) {
			return false;
		}

		for (int i = 0; i < this.getAuthorities().length; i++) {
			if (!this.getAuthorities()[i].equals(user.getAuthorities()[i])) {
				return false;
			}
		}

		// We rely on constructor to guarantee non-null username and password
		return (this.getPassword().equals(user.getPassword())
				&& this.getUsername().equals(user.getUsername())
				&& (this.isAccountNonExpired() == user.isAccountNonExpired())
				&& (this.isAccountNonLocked() == user.isAccountNonLocked())
				&& (this.isCredentialsNonExpired() == user
						.isCredentialsNonExpired()) && (this.isEnabled() == user
				.isEnabled()));
	}

	public GrantedAuthority[] getAuthorities() {
		return authorities;
	}

	public String getPassword() {
		return password;
	}

	public String getUsername() {
		return username;
	}

	public int hashCode() {
		int code = 9792;

		if (this.getAuthorities() != null) {
			for (int i = 0; i < this.getAuthorities().length; i++) {
				code = code * (this.getAuthorities()[i].hashCode() % 7);
			}
		}

		if (this.getPassword() != null) {
			code = code * (this.getPassword().hashCode() % 7);
		}

		if (this.getUsername() != null) {
			code = code * (this.getUsername().hashCode() % 7);
		}

		if (this.isAccountNonExpired()) {
			code = code * -2;
		}

		if (this.isAccountNonLocked()) {
			code = code * -3;
		}

		if (this.isCredentialsNonExpired()) {
			code = code * -5;
		}

		if (this.isEnabled()) {
			code = code * -7;
		}

		return code;
	}

	public boolean isAccountNonExpired() {
		return accountNonExpired;
	}

	public boolean isAccountNonLocked() {
		return this.accountNonLocked;
	}

	public boolean isCredentialsNonExpired() {
		return credentialsNonExpired;
	}

	public boolean isEnabled() {
		return enabled;
	}

	protected void setAuthorities(GrantedAuthority[] authorities) {
		Assert
				.notNull(authorities,
						"Cannot pass a null GrantedAuthority array");

		for (int i = 0; i < authorities.length; i++) {
			Assert
					.notNull(
							authorities[i],
							"Granted authority element "
									+ i
									+ " is null - GrantedAuthority[] cannot contain any null elements");
		}

		this.authorities = authorities;
	}

	public String toString() {
		StringBuffer sb = new StringBuffer();
		sb.append(super.toString()).append(": ");
		sb.append("Username: ").append(this.username).append("; ");
		sb.append("Password: [PROTECTED]; ");
		sb.append("Enabled: ").append(this.enabled).append("; ");
		sb.append("AccountNonExpired: ").append(this.accountNonExpired).append(
				"; ");
		sb.append("credentialsNonExpired: ").append(this.credentialsNonExpired)
				.append("; ");
		sb.append("AccountNonLocked: ").append(this.accountNonLocked).append(
				"; ");
		sb.append("userid: ").append(this.userid).append("; ");
		sb.append("usergroup: ").append(this.usergroup).append("; ");
		sb.append("groupop: ").append(this.groupop).append("; ");
		sb.append("userobj: ").append(this.obj).append("; ");

		if (this.getAuthorities() != null) {
			sb.append("Granted Authorities: ");

			for (int i = 0; i < this.getAuthorities().length; i++) {
				if (i > 0) {
					sb.append(", ");
				}

				sb.append(this.getAuthorities()[i].toString());
			}
		} else {
			sb.append("Not granted any authorities");
		}

		return sb.toString();
	}

	public String getUserid() {
		return userid;
	}

	public void setUserid(String userid) {
		this.userid = userid;
	}

	public String getUsergroup() {
		return usergroup;
	}

	public void setUsergroup(String usergroup) {
		this.usergroup = usergroup;
	}

	public String getGroupop() {
		return groupop;
	}

	public void setGroupop(String groupop) {
		this.groupop = groupop;
	}

	public static User getUserInfo() {
		Object obj = SecurityContextHolder.getContext().getAuthentication()
				.getPrincipal();
		return obj instanceof User ? (User) obj : null;
	}

	public static void main(String[] args) {
		
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?