/** * Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved. * EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * http://www.ewcms.com */ package com.ewcms.security.manage; import java.util.Date; import java.util.Set; import com.ewcms.security.manage.model.Group; import com.ewcms.security.manage.model.User; import com.ewcms.security.manage.model.UserInfo; import com.ewcms.security.manage.service.UserServiceException; /** * 权限管理接口 * * @author wangwei */ public interface SecurityFacable { /** * 判断通过用权限名是否存在 * * @param name 通用权限名 * @return if 'true' exist ,else 'false' not exist */ public boolean hasAuthorityname(String name); /** * 得到用户组 * * @param name 用户名 * @return 用户组对象 */ Group getGroup(String name); /** * 添加权限和用户到指定的用户组中 * * @param name 用户组名称 * @param authNames 权限名称集合 * @param usernames 用户名称集合 */ void addAuthsAndUsersToGroup(String name,Set<String> authNames,Set<String> usernames); /** * 移除指定用户组中的权限和用户 * * @param name 用户组名称 * @param authNames 权限名称集合 * @param usernames 用户名称集合 */ void removeAuthsAndUsersInGroup(String name,Set<String> authNames,Set<String> usernames); /** * 判断用户组名是否存在 * * @param name 用户组名 * @return if 'true' exist ,else 'false' not exist */ boolean hasGroupname(String name); /** * 添加用户组 * * @param name 用户组名称 * @param remark 备注 * @return 用户组名称 */ String addGroup(String name,String remark); /** * 修改用户组 * * @param name 用户组名称 * @param remark 备注 */ void updateGroup(String name,String remark); /** * 删除用户组 * * @param name 用户组名称 */ void removeGroup(String name); /** * 添加用户 * * @param username 用户名 * @param password 密码 * @param enabled 有效 * @param accountStart 授权开始时间 * @param accountEnd 授权结束时间 * @Param userInfo 用户详细信息 * * @return 用户名 * @throws UserServiceException */ String addUser(String username,String password,boolean enabled, Date accountStart,Date accountEnd,UserInfo userInfo, Integer organId) throws UserServiceException; /** * 更新用户信息 * * @param username 用户名 * @param enabled 有效 * @param accountStart 授权开始时间 * @param accountEnd 授权结束时间 * @Param userInfo 用户详细信息 * * @return 用户名 * @throws UserServiceException */ String updateUser(String username,boolean enabled, Date accountStart,Date accountEnd,UserInfo userInfo, Integer organId) throws UserServiceException; /** * 得到用户 * * @param username 用户名 * @return 用户对象 */ User getUser(String username); /** * 删除用户 * * @param username 用户名 */ void removeUser(String username); /** * 添加权限和用户组到指定的用户中 * * @param username 用户组名称 * @param authNames 权限名称集合 * @param groupNames 用户组名称集合 */ void addAuthsAndGroupsToUser(String username,Set<String> authNames,Set<String> groupNames); /** * 移除指定用户组中的权限和用户 * * @param username 用户组名称 * @param authNames 权限名称集合 * @param groupNames 用户组名称集合 */ void removeAuthsAndGroupsInUser(String username,Set<String> authNames,Set<String> groupNames); /** * 激活(启用)用户 * * 失效用户可以通过该过程激活,成为正常用户 * * @param username 用户名 */ void activeUser(String username); /** * 失效(停用)用户 * * 正常用户可以通过该过程失效,成为无效用户 * * @param username */ void inactiveUser(String username); /** * 判断用户名是否存在 * * 用户名是关键字,新增时判断用户名是否被用 * * @param username 用户名 * @return if true 存在 ,if false 不存在 */ boolean hasUsername(String username); /** * 得到缺省用户密码 * * @return 缺省密码 */ String getDefaultPassword(); /** * 用户修改密码 * * @param oldPassword 老密码 * @param newPassword 新密码 */ void changePassword(String oldPassword,String newPassword); /** * 更新当前用户信息 * * @param userInfo */ void updateUserInfo(UserInfo userInfo); /** * 得到当前用户信息 * * @return */ UserInfo getCurrentUserInfo(); /** * 得到当前用户 * * @param username * @return */ User getUserByUsername(String username); }