Выполнено.
В Atlassian-plugin.xml, обеспечивают условия в веб-элемента, как,
<conditions type="OR">
<condition
class="com.atlassian.jira.plugin.webfragment.conditions.JiraGlobalPermissionCondition">
<param name="permission">admin</param>
</condition>
<condition
class="in.componence.jira.plugin.condition.UserLoggedInIsInGroupCondition">
</condition>
</conditions>
В UserLoggedInIsInGroupCondition,
public class UserLoggedInIsInGroupCondition extends UserLoggedInCondition {
private final UserManager userManager;
PropertySet propertySet = ComponentAccessor.getComponent(PropertiesManager.class).getPropertySet();
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
public UserLoggedInIsInGroupCondition(UserManager userManager) {
this.userManager = userManager;
}
public boolean shouldDisplay(com.atlassian.crowd.embedded.api.User user,
JiraHelper jiraHelper) {
if(user != null){
try {
conn = new DefaultOfBizConnectionFactory().getConnection();
stmt = conn.createStatement();
String userName = user.getDisplayName();
String sql = "select PARENT_NAME from cwd_membership where CHILD_NAME='"+userName.toLowerCase()+"'";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
String rsGU = rs.getString("PARENT_NAME")+":"+user.getDisplayName();
String str = propertySet.getString("partner.groupuser");
str = str.replace("[", "");
str = str.replace("]", "");
String[] arrGU = str.split(",");
for(int i=0; i<arrGU.length; i++){
if(rsGU.trim()==arrGU[i].trim() || rsGU.trim().equals(arrGU[i].trim())){
return true;
}
}
}
} catch (DataAccessException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
if(conn!=null){ conn.close(); }
if(stmt!=null){ stmt.close(); }
if(rs!=null){ rs.close(); }
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return (super.shouldDisplay(user, jiraHelper) && (userManager
.isUserInGroup(user.getName(), DataSourceUtil.GROUP_NAME)));
}
}
Затем в главном классе сервлета отдавания плагин доступа для выбранного пользователя.
Просьба указать код и пояснить, что вы уже пробовали. – Jordumus
это ваш плагин или плагин с рынка? –
его собственный пользовательский плагин, который я хочу отобразить для выбранного пользователя? У меня есть treid SimpleLinkFactory, но ссылка не перенаправляется на мой пользовательский плагин. –