---
title: "olika redirect beroende på grupptillhörighet"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/138061-olika-redirect-beroende-på-grupptillhörighet"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "oola"
published: "2005-11-22T10:49:28.000Z"
updated: "2005-11-23T12:23:53.000Z"
replies: 14
views: 521
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/138061-olika-redirect-beroende-på-grupptillhörighet"
---

# olika redirect beroende på grupptillhörighet

## #1 — oola, 2005-11-22T10:49Z

Hej!

Har aldrig gjort något liknande och undrar om det här går att göra:

Jag har en sida på vårt intranät, jag kan om jag vill plocka fram den här variabeln: request.servervariables("LOGON_user").

Det jag nu vill veta är om den här användaren är med i en specifik grupp som finns lokalt på webbservern och berende på om han/hon är det eller inte så vill jag göra lite olika saker.

Går det? Tips på hur man gör skulle uppskattas!

Permalänk: https://www.webforum.nu/p/138061

## #2 — Sasch, 2005-11-22T11:50Z

Vad jag vet är det väl bättre att då köra en sql fråga något i stil med:

```
SELECT userID (SELECT groupID FROM grupper WHERE tabell.UserID = grupper.UserID) as  GRUPP) FROM tabell

If grupp = 1 then
 response redirect (grupp1)...
```

Snabb och skissartad lösning skulle jag tro...

Permalänk: https://www.webforum.nu/p/1713841

## #3 — oola, 2005-11-22T12:14Z

nja, det är ju ingen grupp som finns i en databas utan en grupp på datorn, en av grupperna som du hittar under 'computer management - local users and groups'.

Permalänk: https://www.webforum.nu/p/1713847

## #4 — Jymdis, 2005-11-22T13:32Z

Det vill säga, grymt skissartad lösning med att hämta från databas.

Logon_user vill du inte använda för att få fram användare, se:
<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/21b3be8f-d4ed-4059-8e21-6cba2c253006.asp>

När du väl fått ut användaren får du väll ställa frågor mot AD med LDAP:
<http://www.codecomments.com/archive299-2005-6-522394.html>

Permalänk: https://www.webforum.nu/p/1713879

## #5 — oola, 2005-11-22T14:28Z

> **Jymdis skrev:**
>
> När du väl fått ut användaren får du väll ställa frågor mot AD med LDAP:
> <http://www.codecomments.com/archive299-2005-6-522394.html>

Men det är inget AD jag frågar, det är bara dom lokala grupperna på webservern.

Permalänk: https://www.webforum.nu/p/1713897

## #6 — martinpartin, 2005-11-22T18:11Z

[Kolla denna tråd](http://www.webforum.nu/showthread.php?t=134120)   

Nått i still med denna, Fast du skall ändra några saker i frågan...

Permalänk: https://www.webforum.nu/p/1713955

## #7 — oola, 2005-11-23T08:22Z

> **martinpartin skrev:**
>
> [Kolla denna tråd](http://www.webforum.nu/showthread.php?t=134120)   
> 
> 
> Nått i still med denna, Fast du skall ändra några saker i frågan...

nu börjar det likna nåt, ska se om jag behöver mer hjälp eller inte.

Permalänk: https://www.webforum.nu/p/1714123

## #8 — oola, 2005-11-23T08:44Z

okej, jag fastnade direkt. kan någon hjälpa mig med hur den här frågan...:

```
SQLStmt = "SELECT displayname FROM 'LDAP://DC=DOMAIN,DC=COM' WHERE objectCategory='person' AND objectClass='user' AND 

sAMAccountname = '"& strstrippeduname &"'"
```

...ska se ut om jag vill hämta information från samma dator som asp-sidan köra från. alltså inget AD utan från den webbservern som skriptet körs på.

Permalänk: https://www.webforum.nu/p/1714129

## #9 — yohpops, 2005-11-23T09:57Z

'LDAP://LOCALHOST' kanske?

Permalänk: https://www.webforum.nu/p/1714143

## #10 — oola, 2005-11-23T10:37Z

får bara 'Table does not exist'.

Permalänk: https://www.webforum.nu/p/1714158

## #11 — martinpartin, 2005-11-23T10:43Z

Ställen där det står ZZZ skall du ändra till dina saker...

Detta script kollar om en användare är medlem i en grupp i AD:t 
returnerar ismember = 1 eller null

finns säkert rum för förbättringar...  ;) 

```

'remove domain prefix from username

Dim strUsername, isspos, strstrippeduname, inoofc
    strUsername = Request.ServerVariables("REMOTE_USER")
    isspos = Instr(strUsername, "\")
    inoofc = Len(strUsername)
    isspos = inoofc - isspos
    strstrippeduname = Right(strUsername, isspos)
    
'connect to ad

Dim conn, SQLStmt
Set conn = Server.CreateObject("ADODB.Connection")

	conn.Provider = "ADsDSOObject"
	conn.Properties("User ID") = "ZZZ"
	conn.Properties("Password") = "ZZZ"
	conn.Properties("Encrypt Password") = True
	conn.Open "ADProvider"

'SPECIFY GROUP TO SEARCH FOR
Dim
str_group = "ZZZ"

	SQLStmt = "SELECT memberof FROM 'LDAP://DC=ZZZ,DC=ZZZ' WHERE objectCategory='person' AND objectClass='user' AND sAMAccountname = '"& strstrippeduname &"'"

'return values
Dim rs1, ismember, str_sstr
Set rs1 = Conn.Execute(SQLStmt)
Do Until RS1.EOF
arrGroups = RS1.Fields("memberOf").Value
    If IsNull(arrGroups) Then
ismember = 0
    Else
For Each strGroup In arrGroups
str_sstr = Instr(strGroup, str_group) 
         If str_sstr <> 0 then

       ismember = 1
         Else

         End if

Next
    End If
RS1.MoveNext
Loop
```

Permalänk: https://www.webforum.nu/p/1714161

## #12 — martinpartin, 2005-11-23T10:45Z

vad använder du för konto ???

Permalänk: https://www.webforum.nu/p/1714165

## #13 — oola, 2005-11-23T11:13Z

"Detta script kollar om en användare är medlem i en grupp i AD:t"

Tack, men det är inte det som det handlar om, det är inte i AD:t utan i en lokal användargrupp på datorn.

Kontot är ett admin-konto.

Permalänk: https://www.webforum.nu/p/1714177

## #14 — oola, 2005-11-23T12:08Z

Det här fixade grejen, till funktionen skickar jag in Request.ServerVariables("AUTH_USER")

```
<%
'****************************************************
' Funktion för att ta fram grupptillhörighet
'****************************************************
Function MemberInGroups(strUser)

	strUsername = "XXX"		'OBS: MÅSTE VARA LOKAL ADMIN
	strPassword = "XXX"

	Const ADS_SECURE_AUTHENTICATION = &H1

	Set objNet = Server.CreateObject("WScript.Network")
	strComputerName = objNet.ComputerName
	strUsername = strComputername & "\" & strUsername
	Set objWinNT = GetObject("WinNT:")
	Set objWebserver = objWinNT.OpenDSObject("WinNT://" & strComputerName, strUsername, strPassword, ADS_SECURE_AUTHENTICATION)
	objWebserver.Filter = Array("group")

	For Each objGrp In objWebServer
		If objGrp.Class = "Group" Then
		
			
			If objGrp.IsMember("WinNT://" & Replace(strUser, "\", "/")) Then
				If MemberInGroups <> "" Then
					MemberInGroups = MemberInGroups & "¤¤¤"
				End If
				MemberInGroups = MemberInGroups & strComputerName & "\" & objGrp.Name
			End If

		End If
	Next

	Set objWebserver = Nothing
	Set objWinNT = Nothing
	Set objNet = Nothing

End Function

%>
```

Permalänk: https://www.webforum.nu/p/1714196

## #15 — martinpartin, 2005-11-23T12:23Z

OK !

Permalänk: https://www.webforum.nu/p/1714203

---

Tråden på webben: https://www.webforum.nu/amne/asp/138061-olika-redirect-beroende-på-grupptillhörighet
