2014-06-06 9 views
0

我有這個代碼在控制檯模式下運行,以檢測如果Windows會話是在管理員或沒有管理員權限,我想直接嵌入到網頁作爲小程序或類似的東西。Java中的HTML來檢測是否管理

你能幫我弄清楚網絡使用嗎?

import java.io.*; 

public class WindowsUtils { 

    private WindowsUtils() { } 

    public static boolean isAdmin() { 
    String groups[] = 
     (new com.sun.security.auth.module.NTSystem()).getGroupIDs(); 
    for (String group : groups) { 
      if (group.equals("S-1-5-32-544")) 
       return true; 
    } 
    return false; 
    } 

    public static void main(String[] args) throws IOException { 
    System.out.println("Current user is admin ? " + WindowsUtils.isAdmin()); 
    } 
} 
+0

你想只利用小程序的?或者一個servlet會做? – Yasin

+0

如果你打算使用這個認證 - 我會建議你不要這樣做。這太容易被用戶繞過。 你想用這個applet實現什麼?我想大多數用戶甚至會默認禁用applet。 –

+0

我想使用小程序 – NewOnDotNet

回答

-1

您正在使用PHP for web。所以更好的選擇是用Javascript而不是applet。

function IsCurrentUserMemberOfGroup(groupName, OnComplete) { 
    var currentContext = new SP.ClientContext.get_current(); 
    var currentWeb = currentContext.get_web(); 

    var currentUser = currentContext.get_web().get_currentUser(); 
    currentContext.load(currentUser); 

    var allGroups = currentWeb.get_siteGroups(); 
    currentContext.load(allGroups); 

    var group = allGroups.getByName(groupName); 
    currentContext.load(group); 

    var groupUsers = group.get_users(); 
    currentContext.load(groupUsers); 

    currentContext.executeQueryAsync(OnSuccess,OnFailure); 

    function OnSuccess(sender, args) { 
     var userInGroup = false; 
     var groupUserEnumerator = groupUsers.getEnumerator(); 
     while (groupUserEnumerator.moveNext()) { 
      var groupUser = groupUserEnumerator.get_current(); 
      if (groupUser.get_id() == currentUser.get_id()) { 
       userInGroup = true; 
       break; 
      } 
     } 
     OnComplete(userInGroup); 
    } 

    function OnFailure(sender, args) { 
     OnComplete(false); 
    }  
} 

用法如下:

//Usage 
function IsCurrentUserWithContributePerms() 
{ 
    IsCurrentUserMemberOfGroup("Members", function (isCurrentUserInGroup) { 
    if(isCurrentUserInGroup) 
    { 
     // The current user is in the [Members] group 
    } 
    }); 

} 
ExecuteOrDelayUntilScriptLoaded(IsCurrentUserWithContributePerms, 'SP.js'); 

Link for SP.js

+0

使用JS進行訪問控制是一個壞主意。太容易操縱。更不用說您所引用的鏈接/庫特定於SharePoint。 –

+0

所以我只是想通過我的網頁上的這段代碼?就這樣? – NewOnDotNet

+0

對我來說java是最需要處理的 – NewOnDotNet