public Stream Find(string uri) { if (!Permissions.CanAccess(typeof(T))) { return(Explain("You don't have permission to access: " + typeof(T))); } var aggs = Cache.Find(new[] { uri }); var filtered = Permissions.ApplyFilters(aggs); if (filtered.Length == 1) { ThreadContext.Response.StatusCode = HttpStatusCode.OK; var cms = ChunkedMemoryStream.Create(); var ct = Serialization.Serialize(filtered[0], ThreadContext.Request.Accept, cms); ThreadContext.Response.ContentType = ct; ThreadContext.Response.ContentLength = cms.Position; cms.Position = 0; return(cms); } ThreadContext.Response.StatusCode = HttpStatusCode.NotFound; return(Explain("Can't find " + typeof(T).FullName + " with Uri: " + uri)); }
public bool IsAuthenticated(string user, SecureString password) { var korisnik = Repository.Find(user); if (korisnik == null) { return(false); } foreach (var @char in korisnik.salt) { password.AppendChar(@char); } var sha1 = new SHA1CryptoServiceProvider(); var sha1Pwd = sha1.ComputeHash(Encoding.UTF8.GetBytes(Marshal.PtrToStringBSTR(Marshal.SecureStringToBSTR(password)))); if (!korisnik.hashSifra.SequenceEqual(sha1Pwd)) { return(false); } return(true); }