⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userproxy.java

📁 一套完整的工商12315的源程序jsp部分在12315里,后台JAVA部分在gs12315src里,没有打包数据库.
💻 JAVA
字号:

package com.gs.db;
import java.util.*;

/**
 * Protection proxy for User objects.
 *
 * @see User
 */
public class UserProxy implements User {

    private User user;
    private Authorization authorization;
    private IofficePermissions permissions;

    /**
     * Create a new UserProxy.
     */
    public UserProxy(User user, Authorization authorization,
            IofficePermissions permissions)
    {
        this.user = user;
        this.authorization = authorization;
        this.permissions = permissions;
    }

    public int getID() {
        return user.getID();
    }

    /**
     * Returns true if the User object is an anonymous user object.
     *
     * @return true if the user is anonymous.
     */
    public boolean isAnonymous() {
        return user.isAnonymous();
    }

    /**
     * Returns the user's username. All usernames must be unique in the system.
     *
     * @return the username of the user.
     */
     public String getUsername() {
        return user.getUsername();
    }

    /**
     * Returns the user's name. The user's name does not have to be to be
     * unique in the system. Some users may opt to not let others see their
     * name for privacy reasons. In that case, the user can set nameVisible to
     * false. In that case, a call to this method will return null.
     *
     * @return the name of the user.
     */
    public String getName(){
            return user.getName();
    }

    /**
     * Sets the user's name. The user's name does not have to be to be
     * unique in the system.
     *
     * @param name new name for the user.
     * @throws UnauthorizedException if does not have ADMIN permissions.
     */
     public void setName(String name) throws UnauthorizedException {
        if (permissions.get(IofficePermissions.SYSTEM_ADMIN) ||
               permissions.get(IofficePermissions.USER_ADMIN))
        {
            user.setName(name);
        }
        else {
            throw new UnauthorizedException();
        }
    }


    /**
     * Sets the users's password. The password should be passed in as
     * plain text. The way the password is stored is implementation dependent.
     * However, it is recommended to at least hash passwords with an
     * algorithm such as MD5.
     *
     * @param password new password for the user.
     * @throws UnauthorizedException if does not have ADMIN permissions.
     */
    public void setPassword(String password) throws UnauthorizedException {
        if (permissions.get(IofficePermissions.SYSTEM_ADMIN) ||
               permissions.get(IofficePermissions.USER_ADMIN))
        {
            user.setPassword(password);
        }
        else {
            throw new UnauthorizedException();
        }
    }

    /**
     * Returns the user's password in hashed form. This method is only intended
     * for system administration functions and can be ignored by skin writers.
     *
     * @return the hashed password.
     * @throws UnauthorizedException if does not have ADMIN permissions.
     */
    public String getPasswordHash() throws UnauthorizedException {
        if (permissions.get(IofficePermissions.SYSTEM_ADMIN) ||
               permissions.get(IofficePermissions.USER_ADMIN))
        {
            return user.getPasswordHash();
        }
        else {
            throw new UnauthorizedException();
        }
    }

    /**
     * Sets the user's password in hashed form. This method is only intended
     * for system administration functions and can be ignored by skin writers.
     *
     * @param hashedPassword the hashedPassword for the user.
     * @throws UnauthorizedException if does not have ADMIN permissions.
     */
    public void setPasswordHash(String passwordHash)
            throws UnauthorizedException
    {
        if (permissions.get(IofficePermissions.SYSTEM_ADMIN) ||
               permissions.get(IofficePermissions.USER_ADMIN))
        {
            user.setPasswordHash(passwordHash);
        }
        else {
            throw new UnauthorizedException();
        }
    }

    /**
     * Returns the user's email address. Email should be considered to be
     * a required field of a user account since it is critical to many
     * user operations performing. If the user sets emailVisible to false,
     * this method will always return null.
     *
     * @return the email address of the user.
     */
    public String getEmail() {
            return user.getEmail();
    }

    /**
     * Sets the user's email address. Email should be considered to be
     * a required field of a user account since it is critical to many
     * user operations performing.
     *
     * @param email new email address for the user.
     * @throws UnauthorizedException if does not have ADMIN permissions.
     */
    public void setEmail(String email) throws UnauthorizedException {
        if (permissions.get(IofficePermissions.SYSTEM_ADMIN) ||
               permissions.get(IofficePermissions.USER_ADMIN))
        {
            user.setEmail(email);
        }
        else {
            throw new UnauthorizedException();
        }
    }

    /**
     * Returns an extended property of the user. Each user can have an
     * arbitrary number of extended properties. This lets particular skins
     * or filters provide enhanced functionality that is not part of the base
     * interface.
     *
     * @param name the name of the property to get.
     * @return the value of the property
     */
    public String getProperty(String name) {
        return user.getProperty(name);
    }

    /**
     * Returns an Enumeration of all the names of the extended user properties.
     *
     * @return an Enumeration of the property names.
     */
    public Enumeration propertyNames() {
        return user.propertyNames();
    }

    /**
     * Sets an extended property of the user. Each user can have an
     * arbitrary number of extended properties. This lets particular skins
     * or filters provide enhanced functionality that is not part of the base
     * interface.
     *
     * @param name the name of the property to set.
     * @param value the new value for the property.
     */
    public void setProperty(String name, String value) throws UnauthorizedException{
        if (permissions.get(IofficePermissions.SYSTEM_ADMIN) ||
               permissions.get(IofficePermissions.USER_ADMIN))
        {
	        user.setProperty(name, value);
	    }  
        else {
            throw new UnauthorizedException();
        }
    }

    /**
     * Returns the permissions for the user that correspond to the
     * passed-in Authorization.
     *
     * @param authorization the auth token to look up permissions with.
     */
    public IofficePermissions getPermissions(Authorization authorization) {
        return user.getPermissions(authorization);
    }

    /**
     * Returns true if the handle on the object has the permission specified.
     * A list of possible permissions can be found in the ForumPermissions
     * class. Certain methods of this class are restricted to certain
     * permissions as specified in the method comments.
     *
     * @see ForumPermissions
     */
    public boolean hasPermission(int type) {
        return permissions.get(type);
    }
    
    
    public String toString() {
        return user.toString();
    }
    
    /**
     * enable/diable the user, if the user is disabled it cannot
     * login any more
     * 
     * @param flag: true-enable / false -disable
     * @throws UnauthorizedException if does not have ADMIN permissions.
     */
    public void enable(boolean flag) throws UnauthorizedException {
        if (permissions.get(IofficePermissions.SYSTEM_ADMIN) ||
               permissions.get(IofficePermissions.USER_ADMIN))
        {
	        user.enable( flag );
	    }  
        else {
            throw new UnauthorizedException();
        }
    }

    /**
     * Test is the user is disabled
     * 
     * @return true or false
     */
    public boolean isDisabled()
    {
        return user.isDisabled();
    }
    
    public boolean isDelete() {
        return user.isDelete();
    }
    
    public void setStatue(int st) throws UnauthorizedException {
         user.setStatue(st);
    }
    
    public void setUserName(String userName) throws UnauthorizedException {
         user.setUserName(userName);
    }
    
}

⌨️ 快捷键说明

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