Пример #1
0
        public CheckFileInfo GetCheckFileInfo(WebDavAccessToken token)
        {
            var resource = _webDavManager.GetResource(token.FilePath);

            var permissions = _webDavAuthorizationService.GetPermissions(WspContext.User, token.FilePath);

            var readOnly = permissions.HasFlag(WebDavPermissions.Write) == false || permissions.HasFlag(WebDavPermissions.OwaEdit) == false;

            var cFileInfo = new CheckFileInfo
            {
                BaseFileName = resource == null ? token.FilePath.Split('/').Last() : resource.DisplayName.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries).LastOrDefault(),
                OwnerId = WspContext.User.Login,
                Size = resource == null ? 0 : resource.ContentLength,
                Version = DateTime.Now.ToString("s"),
                SupportsCoauth = true,
                SupportsCobalt = true,
                SupportsFolders = true,
                SupportsLocks = true,
                SupportsScenarioLinks = false,
                SupportsSecureStore = false,
                SupportsUpdate = true,
                UserCanWrite = !readOnly,
                ReadOnly = readOnly,
                RestrictedWebViewOnly = false,
                CloseButtonClosesWindow = true
            };

            if (resource != null)
            {
                cFileInfo.ClientUrl = _webDavManager.GetFileUrl(token.FilePath);
            }

            return cFileInfo;
        }
        private static string GenerateWopiUrl(WebDavAccessToken token, string  urlPart, string path)
        {
            var url = new Uri(HttpContext.Current.Request.Url, urlPart).ToString();

            string wopiSrc = HttpUtility.UrlDecode(url);

            return string.Format("{0}&access_token={1}", wopiSrc, token.AccessToken.ToString("N"));
        }
Пример #3
0
        public WebDavAccessToken CreateToken(WspPrincipal principal, string filePath)
        {
            var token = new WebDavAccessToken();

            token.AccessToken = Guid.NewGuid();
            token.AccountId = principal.AccountId;
            token.ItemId = principal.ItemId;
            token.AuthData = principal.EncryptedPassword;
            token.ExpirationDate = DateTime.Now.AddHours(3);
            token.FilePath = filePath;

            token.Id = WSP.Services.EnterpriseStorage.AddWebDavAccessToken(token);

            return token;
        }
 public int AddWebDavAccessToken(WebDavAccessToken accessToken)
 {
    return EnterpriseStorageController.AddWebDavAccessToken(accessToken);
 }
 public static int AddWebDavAccessToken(WebDavAccessToken accessToken)
 {
     return DataProvider.AddWebDavAccessToken(accessToken);
 }
 /// <remarks/>
 public void AddWebDavAccessTokenAsync(WebDavAccessToken accessToken, object userState) {
     if ((this.AddWebDavAccessTokenOperationCompleted == null)) {
         this.AddWebDavAccessTokenOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddWebDavAccessTokenOperationCompleted);
     }
     this.InvokeAsync("AddWebDavAccessToken", new object[] {
                 accessToken}, this.AddWebDavAccessTokenOperationCompleted, userState);
 }
 /// <remarks/>
 public void AddWebDavAccessTokenAsync(WebDavAccessToken accessToken) {
     this.AddWebDavAccessTokenAsync(accessToken, null);
 }
 /// <remarks/>
 public System.IAsyncResult BeginAddWebDavAccessToken(WebDavAccessToken accessToken, System.AsyncCallback callback, object asyncState) {
     return this.BeginInvoke("AddWebDavAccessToken", new object[] {
                 accessToken}, callback, asyncState);
 }
 public int AddWebDavAccessToken(WebDavAccessToken accessToken) {
     object[] results = this.Invoke("AddWebDavAccessToken", new object[] {
                 accessToken});
     return ((int)(results[0]));
 }
Пример #10
0
        public static String GenerateWopiUrl(this UrlHelper urlHelper, WebDavAccessToken token, string path)
        {
            var urlPart = urlHelper.Route(OwaRouteNames.CheckFileInfo, new { accessTokenId = token.Id });

            return GenerateWopiUrl(token, urlPart, path);
        }