作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以仅检索已启用的用户 - 添加过滤器 - 到 jt400 UserList 的 getUsers 方法?
我做了以下实现,但效果不佳,所以我试图找到一种更好的方法,以及是否有可能过滤用户并仅获取启用的用户。
Set<String> as400Users = new HashSet();
AS400 as400 = new AS400(host, username, password);
//Retrieving Users
UserList users = new UserList(as400);
Enumeration io = users.getUsers();
while (io.hasMoreElements()) {
com.ibm.as400.access.User u = (com.ibm.as400.access.User)io.nextElement();
String userName = u.getName();
if (u.getStatus().equalsIgnoreCase("*ENABLED")) {
as400Users.add(userName);
}
}
最佳答案
您可以像这样查询 USER_INFO View :
select *
from qsys2.user_info
where status = '*ENABLED'
这在 v7.1 中可用。请注意,这仅向您有权访问的用户提供。
您可能还想将 getName()
调用移至过滤器内:
Set<String> as400Users = new HashSet();
AS400 as400 = new AS400(host, username, password);
//Retrieving Users
UserList users = new UserList(as400);
Enumeration io = users.getUsers();
while (io.hasMoreElements()) {
com.ibm.as400.access.User u = (com.ibm.as400.access.User)io.nextElement();
if (u.getStatus().equalsIgnoreCase("*ENABLED")) {
as400Users.add(u.getName());
}
}
或者您可以使用更新的 foreach
语法和 getUsers(-1,0)
Set<String> as400Users = new HashSet();
AS400 as400 = new AS400(host, username, password);
//Retrieving Users
UserList users = new UserList(as400);
for (com.ibm.as400.access.User u: users.getUser(-1,0)) {
if (u.getStatus().equalsIgnoreCase("*ENABLED")) {
as400Users.add(u.getName());
}
}
现在只需选择最快的方法即可。
关于java - 如何使用 jt400 API 仅检索启用 AS400 的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47347340/
我是一名优秀的程序员,十分优秀!