webForumDet fria alternativet

Det där med tillit!

.NET

10 svar · 841 visningar · startad av CatZ

Medlem sedan jan. 20022 440 inlägg
Frågan#1

Jag har en applikation som ska köras på en server från tunna klienter och eftersom jag inte gärna låter de tunna klienterna ha adminrättigheter på servern så har jag strypt i princip allting vida group policies men har nu fått problem med att applikationen inte är 100% pålitlig längre. Jag har testat att tilldela applikationen FullTrust men det räcker tydligen inte. Jag har testat att i GPMC ge sökvägen till applikationen fulla rättigheter för den specifika användaren så nu återstår egentligen bara en fråga då ingenting verkar hjälpa...

Hur tusan ser jag till att applikationen körs "unrestricted"? Jag har tittat på sn.exe, mage.exe, gacutil.exe med flera men ingenting som jag känner att jag kan tillämpa.

Vad ska man göra för att se till att applikationen ska få åtkomst till precis allt på servern? Applikationen installeras aldrig på servern vi bara kompilerar den och kopierar över de kompilerade filerna.

Medlem sedan jan. 20022 440 inlägg
#2

Det var enkelt löst, jag glömde sätta fulla rättigheter i koden när jag läser/skriver till registret...

Medlem sedan jan. 20022 440 inlägg
#3

Det jag behöver är fullständiga rättigheter till en nyckel

Registret skrev:

HKLM\Software\Company\Settings\

Hur ska jag fixa det? Jag trodde jag hade fixat det men det var givetvis bara på min utvecklingsmaskin, nu när jag kom till kund så fungerar det inte!

Hjälp!

Medlem sedan maj 20012 812 inlägg
#4

Är du riktigt fräck så överlåter du det problemet till kundens it-avdelning. Du sätter helt enkelt ett attribute (kommer inte ihåg vilket) i din klasss för att kunna köra denna assemblyn så måste användaren ha rätt att skriva till registert.

Så slipper du bry dig om det, utan lämnar ansvaret vidare till deras IT-avdelning, eftersom det kan faktiskt vara så att den användare inte har rättigheter att skriva till registert, och då kan du inte göra något överhuvudtaget i från din sida...

- M

Medlem sedan jan. 20022 440 inlägg
#5

Nja det är inte riktigt så enkelt eftersom jag är IT-ansvarig också... :) Det är ett helvete att vara både utvecklare och systemadministratör...

Medlem sedan juni 20008 205 inlägg
#6

Nu är jag lite n00b på CAS men borde det inte räcka för dig att skapa och asserta/demanda ett RegistryPermission? Typ

[RegistryPermission(SecurityAction.Assert, Write = @"HKEY_LOCAL_MACHINE\Software\Company\Settings ")]
public void SaveToRegistry()
{ 
    ...
}

Attributet kan slängas på metod, klass eller assembly.

http://msdn.microsoft.com/en-us/library/system.security.permissions.registrypermission.aspx
http://msdn.microsoft.com/en-us/library/system.security.permissions.registrypermissionattribute.aspx

Medlem sedan jan. 20022 440 inlägg
#7

Hmm det är nog inte omöjligt, har inte testat assert tidigare. Ska prova med det. Tack för tipset!

I vilket fall som helst återkommer jag med resultatet :p

Medlem sedan jan. 20022 440 inlägg
#8

Nej det hjälpte inte heller. Det får bli en annan variant då. I programmet när det startas så loggar jag in som lokal administratör det första innan jag kör igång programmet.

Eller ger jag dem fulla rättigheter till allt vilket inte känns så lockande.

Medlem sedan aug. 20003 575 inlägg
#9

Hmm, känns som att du borde använda en konfigurationsfil istället?

Medlem sedan jan. 20022 440 inlägg
#10

Nickemannen skrev:

Hmm, känns som att du borde använda en konfigurationsfil istället?

Vad menar du? Jag har tyvärr inte tid att skriva om programmet från grunden och i sin nuvarande form så är det referenser till en del externa lib som jag inte kan signera. Programmet installeras heller inte som sagt så det är en taskig situation jag blivit satt i :l

Medlem sedan aug. 20003 575 inlägg
#11

CatZ skrev:

Vad menar du? Jag har tyvärr inte tid att skriva om programmet från grunden och i sin nuvarande form så är det referenser till en del externa lib som jag inte kan signera. Programmet installeras heller inte som sagt så det är en taskig situation jag blivit satt i :l

Okay :/

264 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)