Skip to content

Commit 3000c9f

Browse files
committed
Merge branch 'dev'
2 parents 135d685 + 222e512 commit 3000c9f

File tree

219 files changed

+3754
-940
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

219 files changed

+3754
-940
lines changed

.github/ISSUE_TEMPLATE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Please include your Abp version, exception message and stack trace in bug/problem reports.

Abp.sln

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,12 @@ Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Abp.AspNetCore.TestBase", "
9494
EndProject
9595
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "AbpAspNetCoreDemo", "test\aspnet-core-demo\AbpAspNetCoreDemo\AbpAspNetCoreDemo.xproj", "{26172FE6-890F-4D45-83B2-3F28193843AF}"
9696
EndProject
97+
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Abp.Web.Common.Tests", "test\Abp.Web.Common.Tests\Abp.Web.Common.Tests.xproj", "{26898200-F326-46B8-A202-81167B6048F3}"
98+
EndProject
99+
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Abp.Castle.Log4Net", "src\Abp.Castle.Log4Net\Abp.Castle.Log4Net.xproj", "{FB797CC0-A394-4977-86B0-47F16672DDE8}"
100+
EndProject
101+
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Abp.Quartz", "src\Abp.Quartz\Abp.Quartz.xproj", "{F90B1606-F375-4C84-9118-AB0C1DDEB0DF}"
102+
EndProject
97103
Global
98104
GlobalSection(SolutionConfigurationPlatforms) = preSolution
99105
Debug|Any CPU = Debug|Any CPU
@@ -260,6 +266,18 @@ Global
260266
{26172FE6-890F-4D45-83B2-3F28193843AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
261267
{26172FE6-890F-4D45-83B2-3F28193843AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
262268
{26172FE6-890F-4D45-83B2-3F28193843AF}.Release|Any CPU.Build.0 = Release|Any CPU
269+
{26898200-F326-46B8-A202-81167B6048F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
270+
{26898200-F326-46B8-A202-81167B6048F3}.Debug|Any CPU.Build.0 = Debug|Any CPU
271+
{26898200-F326-46B8-A202-81167B6048F3}.Release|Any CPU.ActiveCfg = Release|Any CPU
272+
{26898200-F326-46B8-A202-81167B6048F3}.Release|Any CPU.Build.0 = Release|Any CPU
273+
{FB797CC0-A394-4977-86B0-47F16672DDE8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
274+
{FB797CC0-A394-4977-86B0-47F16672DDE8}.Debug|Any CPU.Build.0 = Debug|Any CPU
275+
{FB797CC0-A394-4977-86B0-47F16672DDE8}.Release|Any CPU.ActiveCfg = Release|Any CPU
276+
{FB797CC0-A394-4977-86B0-47F16672DDE8}.Release|Any CPU.Build.0 = Release|Any CPU
277+
{F90B1606-F375-4C84-9118-AB0C1DDEB0DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
278+
{F90B1606-F375-4C84-9118-AB0C1DDEB0DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
279+
{F90B1606-F375-4C84-9118-AB0C1DDEB0DF}.Release|Any CPU.ActiveCfg = Release|Any CPU
280+
{F90B1606-F375-4C84-9118-AB0C1DDEB0DF}.Release|Any CPU.Build.0 = Release|Any CPU
263281
EndGlobalSection
264282
GlobalSection(SolutionProperties) = preSolution
265283
HideSolutionNode = FALSE
@@ -306,5 +324,8 @@ Global
306324
{47279576-BA2A-4941-96BD-E4B913B50B4A} = {1E6B9E8D-D5C1-4AD7-89F9-7179FEFD7C01}
307325
{B21CDFC5-81C3-4E29-B7FF-C11B5EC43456} = {DFF0464B-5402-4DD6-86F5-2AEC1163B232}
308326
{26172FE6-890F-4D45-83B2-3F28193843AF} = {1C5D3B56-8C59-4ABC-8E66-CBE971633FA7}
327+
{26898200-F326-46B8-A202-81167B6048F3} = {1E6B9E8D-D5C1-4AD7-89F9-7179FEFD7C01}
328+
{FB797CC0-A394-4977-86B0-47F16672DDE8} = {DFF0464B-5402-4DD6-86F5-2AEC1163B232}
329+
{F90B1606-F375-4C84-9118-AB0C1DDEB0DF} = {DFF0464B-5402-4DD6-86F5-2AEC1163B232}
309330
EndGlobalSection
310331
EndGlobal

doc/WebSite/AspNet-Core.html

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,6 @@ <h4>Startup Class</h4>
3131
public <strong>IServiceProvider</strong> ConfigureServices(IServiceCollection services)
3232
{
3333
//...
34-
35-
services.AddMvc(mvcOptions =&gt;
36-
{
37-
<strong> //Add ABP infrastructure to MVC
38-
mvcOptions.AddAbp(services);
39-
</strong> //...
40-
});
4134

4235
<strong> //Configure Abp and Dependency Injection. Should be called last.
4336
return services.AddAbp&lt;MyProjectWebModule&gt;(options =&gt;

doc/WebSite/Caching.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,9 @@ <h3>Redis Cache Integration</h3>
251251
<pre lang="xml">&lt;add key=&quot;<strong>Abp.Redis.Cache.DatabaseId</strong>&quot; value=&quot;2&quot;/&gt;</pre>
252252
<p>Different database ids are useful to create different key spaces
253253
(isolated caches) in same server.</p>
254+
<p><strong>UseRedis</strong> method has also an overload that takes
255+
an action to directly set option values (overrides values in the
256+
config file).</p>
254257
<p>See <a href="http://redis.io/documentation" target="_blank">Redis
255258
documentation</a> for more information on Redis and it's
256259
configuration.</p>

doc/WebSite/Documents.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ <h3>ABP Framework</h3>
7676
<li>
7777
<a href="Setting-Management.html">Setting Management</a>
7878
</li>
79+
<li>
80+
<a href="Timing.html">Timing</a>
81+
<label class="label label-success">NEW</label>
82+
</li>
7983
</ul>
8084
<li>Domain Layer<ul>
8185
<li>
@@ -165,6 +169,10 @@ <h3>ABP Framework</h3>
165169
<li>
166170
<a href="/Pages/Documents/Javascript-API">Javascript API</a>
167171
</li>
172+
<li>
173+
<a href="XSRF-CSRF-Protection.html">CSRF/XSRF
174+
Protection</a>
175+
<label class="label label-success">NEW</label></li>
168176
</ul>
169177
</li>
170178
<li>Background Services<ul>

doc/WebSite/Dynamic-Web-API.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ <h3 id="DocDynamicApi">
3333
And we want to expose this service as a Web API Controller for clients.
3434
ASP.NET Boilerplate can automatically and dynamically create a Web API
3535
Controller for this application service with a single line of configuration:</p>
36-
<pre lang="cs">DynamicApiControllerBuilder.For&lt;ITaskAppService&gt;("tasksystem/task").Build();</pre>
36+
<pre lang="cs">DynamicApiControllerBuilder.For&lt;ITaskAppService&gt;(<strong>"tasksystem/task"</strong>).Build();</pre>
3737
<p>
3838
Thats
3939
all! An api controller is created in the address '<strong>/api/services/tasksystem/task</strong>' and all methods are now usable by clients.
@@ -194,6 +194,9 @@ <h4 id="DocAjaxParams">AJAX Parameters</h4>
194194
<p>All parameters of
195195
<a href="http://api.jquery.com/jQuery.ajax/" target="_blank">jQuery.ajax</a> are
196196
valid here.</p>
197+
<p>In addition to standard jQuery.ajax parameters, you can add
198+
<strong>abpHandleError: false</strong> to AJAX options in order to
199+
disable automatic message displaying on error cases.</p>
197200
<h4 id="DocSingleService">Single Service Script</h4>
198201
<p>'/api/AbpServiceProxies/GetAll' generates all service proxies in one file.
199202
You can also generate a sinle service proxy using

doc/WebSite/Hangfire-Integration.html

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
<div class="document-contents">
1313

14+
<h3>
15+
Introduction</h3>
1416
<p>
1517
<a href="http://hangfire.io/" target="_blank">Hangfire</a> is a
1618
compherensive background job manager. You can <strong>integrate</strong> ASP.NET Boilerplate
@@ -20,6 +22,8 @@
2022
<strong>independent</strong> of Hangfire. But, if you like, you can directly use
2123
<strong>Hangfire's
2224
API</strong> also.</p>
25+
<h3>
26+
Integration</h3>
2327
<p>First, install
2428
<a href="https://www.nuget.org/packages/Abp.HangFire" target="_blank">
2529
<strong>Abp.HangFire</strong>
@@ -52,7 +56,32 @@
5256
schema creation permission in your database since it creates it's own schema
5357
and tables on first run. See <a href="http://docs.hangfire.io/en/latest/" target="_blank">Hangfire
5458
documentation</a> for more information.</p>
55-
<p>&nbsp;</p>
59+
<h3>
60+
HangFire Dashboard Authorization</h3>
61+
<p>
62+
Hagfire can show a <strong>dashboard page </strong>to see status
63+
of all background jobs in real time. You can configure it as
64+
described in it's
65+
<a href="http://docs.hangfire.io/en/latest/configuration/using-dashboard.html" target="_blank">
66+
documentation</a>. By default, this dashboard page is available
67+
for all users, not authorized. You can integrate it to ABP's
68+
<a href="Authorization.html">authorization system</a> using <strong>
69+
AbpHangfireAuthorizationFilter</strong> class defined in
70+
Abp.HangFire package. Example configuration:</p>
71+
<pre lang="cs">app.UseHangfireDashboard(&quot;/hangfire&quot;, new DashboardOptions
72+
{
73+
Authorization = new[] { <strong>new AbpHangfireAuthorizationFilter()</strong> }
74+
});</pre>
75+
<p>This checks if current user has logged in to the application. If
76+
you want to require an additional permission, you can pass into it's
77+
constructor:</p>
78+
<pre lang="cs">app.UseHangfireDashboard(&quot;/hangfire&quot;, new DashboardOptions
79+
{
80+
Authorization = new[] { new AbpHangfireAuthorizationFilter(<strong>&quot;MyHangFireDashboardPermissionName&quot;</strong>) }
81+
});</pre>
82+
<p><strong>Note</strong>: UseHangfireDashboard should be called
83+
after authentication middleware in your Startup class (probably as
84+
the last line). Otherwise, authorization always fails.</p>
5685

5786
</div>
5887

doc/WebSite/Javascript-API/AJAX.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,13 +136,15 @@ <h4>Handling Errors</h4>
136136
Otherwise, it hides the actual error (writes error to logs) and shows a standard
137137
''An internal error occured..." message to the user. All these are automatically
138138
done by ASP.NET Boilerplate.</p>
139+
<p>You may want to disable displaying message for particular AJAX call. Then
140+
add <strong>abpHandleError: false</strong> into abp.ajax options.</p>
139141
<h5>HTTP Status Codes</h5>
140142
<p>ABP returns given HTTP status codes on exceptions:</p>
141143
<ul>
142144
<li><strong>401</strong> for unauthenticated requests (Used has not
143145
logged in but server action needs authentication).</li>
144146
<li><strong>403</strong> for unauthorized requests.</li>
145-
<li>&nbsp;<strong>500</strong> for all other exception types.</li>
147+
<li><strong>500</strong> for all other exception types.</li>
146148
</ul>
147149
<h4>WrapResult and DontWrapResult Attributes</h4>
148150
<p>You can control wrapping using <strong>WrapResult</strong> and <strong>

doc/WebSite/MVC-Controllers.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,10 @@ <h4>Unit Of Work</h4>
114114
<p>You can use <strong>UnitOfWork</strong> attribute to control behaviour of
115115
UOW for an action. You can also use startup configuration to change default
116116
unit of work attribute for all actions.</p>
117+
<h4>Anti Forgery</h4>
118+
<p><strong>AbpAntiForgeryMvcFilter</strong> is used to auto protect MVC
119+
actions for POST, PUT and DELETE requests from CSRF/XSRF attacks. See
120+
<a href="XSRF-CSRF-Protection.html">CSRF documentation</a> for more.</p>
117121
<h3>Model Binders</h3>
118122
<p><strong>AbpMvcDateTimeBinder</strong> is used to normalize DateTime
119123
(and Nullable&lt;DateTime&gt;) inputs using <strong>Clock.Normalize</strong>

doc/WebSite/Nuget-Packages.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,12 @@ <h4>
116116
</h4>
117117
<p>
118118
Hanfire integration for background job management.</p>
119+
<h4>
120+
<a href="http://www.nuget.org/packages/Abp.Castle.Log4Net" target="_blank">
121+
Abp.Castle.Log4Net</a>
122+
</h4>
123+
<p>
124+
Log4Net adapter to support latest log4net for Abp and Castle.</p>
119125
<h4>
120126
<a href="https://www.nuget.org/packages/Abp.RedisCache" target="_blank">
121127
Abp.RedisCache</a></h4>

0 commit comments

Comments
 (0)