Strong naming and the GAC give you some assurances, but not all of the
ones you're after, so I think you'll need more than just a strong name.
First of all, a strong name helps out with versioning, so if you're
deploying to a third party then you should definitely use strong
naming. That way if you release v2.0 of your code and the third party's
application depends upon v1.0, it won't break the contract, at least.
(The data is a whole other question, of course.)
The second thing that a strong name gives you is assurance that nobody
else can hack your code, alter it, and pass it off as your oroginal
DLL. Insert a trojan, for example.
However, it's still a DLL, and anyone can call it. I'm sure that there
are schemes for preventing unauthorized access. (Have to unlock the DLL
with a password, or some other such thing?) I've never tried doing it,
though, so someone else will have to comment on best practices.
Have you tried asking in / looking in microsoft.public.dotnet.security?
|